论⽂常⽤图表⼀:柱状图【MATLAB】
⽂章⽬录
1. ⼆维竖直直⽅图 bar
1.1 单组数据⽐较
# version 1: 默认绘图
y =[0.4,0.3,0.6,0.8];
bar(y);
假设现在有四个数据 0.4, 0.3, 0.6, 0.8 需要⽐较,直接将它们设置为 y 值,然后通过 bar(y) 绘制柱状图,默认是介个样⼦,⽐较丑:
@ 改变数值设置
现在需要规整⼀下我们的 x 轴标签设置,并且将 y 坐标的最⼤值放在 1 上,因为 0.8 顶格很丑…
x 轴标签默认其实是 x = 1:n,n 为提供给 y 的数据个数,所以上⾯的例⼦默认显⽰出来就是 1 到 4 了。
(1)如果想要改成其他数字,只需要设置 m:n,x 轴的标签就会显⽰为 m, m+1, m+2 ..., n,只需要注意 x 轴标签个数和 y 数值个数⼀致即可。
(2)如果需要 x 轴标签带 “跨度”,只需要设置⼀个步长即可,⽐如 1:2:7,就是从 1 到 7 步长为 2 的标签,显⽰在上例中就是 1, 3, 5, 7。
(3)这⾥我们想要将 x 轴标签设置为具体的名称,需要⽤到 XTickLabel,在花括号内填⼊⾃⼰想要的名称即可,具体见下例。
(4)对于 y 轴标签范围的设置,使⽤ ylim 就能设置到⾃⼰想要的范围啦。
# version 2:改变数值设置
y =[0.4,0.3,0.6,0.8];
bar(y);
# y轴标签范围
ylim([0.21]);
# x轴标签设置
set(gca,'XTickLabel',{'baseline','method-1','method-2','ours'});
@ 改变外观
(默认颜⾊不知道为什么就是有⼀股陈年的⽓息… )
这⾥使⽤ bar ⽅法中的参数 FaceColor 控制条柱颜⾊,另外设置了条柱宽度:
# version 2:改变外观
y =[0.4,0.3,0.6,0.8];
# 外观
width =0.5;
bar(y, width,'FaceColor',[176,224,230]/255);
# 标签设置
ylim([0.21]);
set(gca,'XTickLabel',{'baseline','method-1','method-2','ours'});
这⾥注意 bar 要放在其他属性设置之前,否则会⽆效。可以⾃⼰实际尝试⼀下。
其他可以改变的外观属性还有很多,条柱的线型、线宽、线的颜⾊等等,做个⼩例⼦:# 其他尝试
y =[0.4,0.3,0.6,0.8];
width =0.5;
bar(y, width,...
'FaceColor',[176,224,230]/255,...
'EdgeColor',[40,71,92]/255,...
'LineWidth',2,...
'LineStyle','--');
bar(x,y,width) 中的 width 设置条柱的宽度,默认是 0.8,所以默认会显得⽐较胖,通过设置为 0.5 让它们间隔⼤⼀些,同理如果设置为 1 那所有条柱就是紧挨着的了,如果设置宽度⼤于 1,那么条柱会发⽣重叠;
FaceColor 设置条柱的 填充⾊,强调⼀下它和 边缘⾊ 没有关系;
EdgeColor 设置条柱的 边缘⾊,默认是⿊⾊的;
LineWidth 设置条柱的 边缘线宽;
LineStyle 设置条柱的 边缘线型,可选参数有 '-' | '--' | ':' | '-.' | 'none';
@ 添加图表说明
# version 3:添加图表说明
y =[0.4,0.3,0.6,0.8];
# 外观
width =0.5;
bar(y, width,'FaceColor',[176,224,230]/255);
# 标签
ylim([0.21]);
set(gca,'XTickLabel',{'baseline','method-1','method-2','ours'});
# 说明
xlabel('Methods');
ylabel('Score');
matlab直方图title('Compare');
@ 其他特殊设置
1. 指定基线、绘制⽹格
y =[0.4,0.3,0.6,0.8];
width =0.5;
bar(y, width,...
'FaceColor',[176,224,230]/255,...
'BaseValue',0.5);
ylim([0.21]);
set(gca,'XTickLabel',{'baseline','method-1','method-2','ours'});
xlabel('Methods');
ylabel('Score');
title('Compare');
grid on;
BaseValue 指定了基线
grid on 绘制⽹格
2. 使⽤堆叠柱状图
使⽤了堆叠柱状图,设置条柱的颜⾊,去掉柱状图⿊⾊边框、添加图例。
data =[a1,b1,c1; a2,b2,c2];
# line 2
h = bar(data,'stack');
set(h,'edgecolor','none');
set(h(1),'facecolor',[253,245,230]/255);
set(h(2),'facecolor',[245,222,179]/255);
set(h(3),'facecolor',[210,180,140]/255);
# line 8
ht = legend('good','moderate','failure');
set(ht,'edgecolor',[0.8,0.8,0.8]);
line 2:使⽤堆叠柱状图
line 3:设 h 为柱状图变量,通过 edgecolor 去掉条柱的边缘颜⾊
line 8:设 ht 为图例变量,通过 edgecolor 设置图例的边框颜⾊,[1,1,1] 为⽩⾊,[0,0,0] 为⿊⾊,这⾥设置 [0.8,0.8,0.8] 为浅灰⾊
1.2 多组数据⽐较
# version 1: 默认绘图
y=[54329;48727;19573];
bar(y)
通过将 y 设置为 m x n 的矩阵,可以⽤于⽐较 m 个不同⽅法的 n 组数据。
这⾥有 三个⽅法,⽐较 五个指标,注意到每个⽅法的对应指标颜⾊都是相同的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论