如何使用MATLAB绘制条形图bar graph

时间:2021-07-16 12:05:43

        MATLAB中绘制条形图的方法比较简单,给定样本值,直接调用bar()函数即可完成基本的条形图的绘制,bar3()可以绘制三维条形图。

        

        当然,也可以加一些附加信息,使得条形图更接近理想的效果:

        bar()函数可以直接使用bar(y)绘制,这时的x从1开始递增;或者与plot(x,y)函数方法相同,先定义x, 如x=0:pi/10:pi,再使用bar(x,y)。其他关于bar()函数的属性不常用。

        使用title()添加标题

        使用xlabel(),ylabel()添加坐标名称

        使用legend指定各样条代表的样本名称

        使用set(gca, 'xticklabel', {...})来重新刻画x轴的刻度值,变成自己期望的性质,默认为从1开始的整数,这种方法在x是互不相关的属性,或者非数字时使用,当x为某一函数采样点时,也可以使用上面提到的bar(x,y)。gca表示当前坐标轴的句柄,xticklabel表示x轴的刻度名称,第三个参数表示新的刻度名称,长度未对齐不会报错。

下面是一个完整的例子:

y1=[15.81292 16.43826 5.696203; 10.91314 8.493151 5.379747; 10.24499 7.945205 8.860759; 12.02673 13.15068 19.62025;...
5.790646 15.89041 37.34177; 7.349666 9.041096 6.012658; 10.69042 10.13699 3.797468; 16.03563 10.68493 5.696203;...
11.13586 8.219178 7.594937];

b=bar(y1);
grid on;
set(gca, 'xticklabel', {'0-20','20-40','40-60','60-80','80-100','100-120','120-140','140-160','160-180'});
legend('156C','164C','172C');
xlabel('Angle:degree');
ylabel('Percentage:%');
title('Angle');

如何使用MATLAB绘制条形图bar graph

        这里y1是一个矩阵,每一行对应一个x值,同一行中的数据在一起绘制,蓝色代表第一列数据,依次类推。可以使用colormap(hsv(3))之类的函数改变条形图的颜色。