meatball1982 发表于 2017-8-28 21:00:58

豆粑粑, matlab bar tight 

通过设置每个bar的宽度和位置使得bar相互不重叠,又挨在一起。
至于如何调,我暂没时间研究的很深,应该是默认宽度和(也就是每个值对应的不同的一组bar)之间的关系。
如果是5组数。应该下面的子图和参数基本够用。



太粗糙,只是够用。


clear all
clc


colormap(jet)
n=8;




sbp_width=0.9;
sbp_heig=0.85;
n_row = 2;
n_col = 2;
=fun_mm_subplot_pos(n_row,n_col,sbp_width,sbp_heig);
h=figure(1)
set(h, 'Position', );


a= rand(n,2);
ax=axes('position',out_pos(1,:));
h=bar(a,'barwidth',1.72)
set(h(1),'XData',-0.62 + 0.5)
set(h(2),'XData',-0.4 + 0.5)
grid on
axis()


a= rand(n,3);
ax=axes('position',out_pos(2,:));
h=bar(a,'barwidth',1.5)
set(h(1),'XData',-0.61 + 0.5)
set(h(2),'XData',-0.50 + 0.5)
set(h(3),'XData',-0.39 + 0.5)
grid on
axis()

a= rand(n,4);
ax=axes('position',out_pos(3,:));
h=bar(a,'barwidth',1.35)
set(h(1),'XData',-0.61 + 0.5)
set(h(2),'XData',-0.54 + 0.5)
set(h(3),'XData',-0.47 + 0.5)
set(h(4),'XData',-0.4+ 0.5)
grid on
axis()


a= rand(n,5);
ax=axes('position',out_pos(4,:));
h=bar(a,'barwidth',1.261)
set(h(1),'XData',-0.594 + 0.5 )
set(h(2),'XData',-0.547 + 0.5 )
set(h(3),'XData',-0.504 + 0.5)
set(h(4),'XData',-0.457 + 0.5)
set(h(5),'XData',-0.41+ 0.5)
grid on
axis()

h = gcf;
fi_na=['./fig_bar'];
fun_work_li_035_myfig_out(h,fi_na,3);


页: [1]
查看完整版本: 豆粑粑, matlab bar tight