Mathematica中文论坛-非官方
标题:
豆粑粑, matlab bar tight
[打印本页]
作者:
meatball1982
时间:
2017-8-28 21:00
标题:
豆粑粑, matlab bar tight
通过设置每个bar的宽度和位置使得bar相互不重叠,又挨在一起。
至于如何调,我暂没时间研究的很深,应该是默认宽度和[0 1](也就是每个值对应的不同的一组bar)之间的关系。
如果是5组数。应该下面的子图和参数基本够用。
fig_bar.png
(69.69 KB, 下载次数: 1309)
下载附件
2017-8-28 21:00 上传
太粗糙,只是够用。
clear all
clc
colormap(jet)
n=8;
sbp_width=0.9;
sbp_heig=0.85;
n_row = 2;
n_col = 2;
[out_pos]=fun_mm_subplot_pos(n_row,n_col,sbp_width,sbp_heig);
h=figure(1)
set(h, 'Position', [100, 100, 1200, 600]);
a= rand(n,2);
ax=axes('position',out_pos(1,:));
h=bar(a,'barwidth',1.72)
set(h(1),'XData',[1:n]-0.62 + 0.5)
set(h(2),'XData',[1:n]-0.4 + 0.5)
grid on
axis([0 n+1 0 1])
a= rand(n,3);
ax=axes('position',out_pos(2,:));
h=bar(a,'barwidth',1.5)
set(h(1),'XData',[1:n]-0.61 + 0.5)
set(h(2),'XData',[1:n]-0.50 + 0.5)
set(h(3),'XData',[1:n]-0.39 + 0.5)
grid on
axis([0 n+1 0 1])
a= rand(n,4);
ax=axes('position',out_pos(3,:));
h=bar(a,'barwidth',1.35)
set(h(1),'XData',[1:n]-0.61 + 0.5)
set(h(2),'XData',[1:n]-0.54 + 0.5)
set(h(3),'XData',[1:n]-0.47 + 0.5)
set(h(4),'XData',[1:n]-0.4 + 0.5)
grid on
axis([0 n+1 0 1])
a= rand(n,5);
ax=axes('position',out_pos(4,:));
h=bar(a,'barwidth',1.261)
set(h(1),'XData',[1:n]-0.594 + 0.5 )
set(h(2),'XData',[1:n]-0.547 + 0.5 )
set(h(3),'XData',[1:n]-0.504 + 0.5)
set(h(4),'XData',[1:n]-0.457 + 0.5)
set(h(5),'XData',[1:n]-0.41 + 0.5)
grid on
axis([0 n+1 0 1])
h = gcf;
fi_na=['./fig_bar'];
fun_work_li_035_myfig_out(h,fi_na,3);
复制代码
欢迎光临 Mathematica中文论坛-非官方 (http://ilovemathematica.com/)
Powered by Discuz! X3.2