利用Matlab画一组数据不同颜色的条形图(Bar)

时间:2023-02-03 07:46:24

近来被老师要求处理一组数据,但是需要对其中的部分数据更改成不同的颜色,现将我的方法记录下来,供以后查询备用。(需要改变颜色的数据需要有一定的标记,如负值等)

初始条形图如下:(自己实验用的,数据量比较大)

利用Matlab画一组数据不同颜色的条形图(Bar)

方法一:(适用于小数据量)

a=[1 2 3 4 5 6 7 8 9 10];

b=diag(a);

c=bar(b,'stack');

set(c(1),'FaceColor','K');

set(c(2),'FaceColor','r')

后面可以根据需求自己设置.

结果如下;

利用Matlab画一组数据不同颜色的条形图(Bar)


方法二:(适用于大量数据)

数据量大时,发现方法一没有反应了。查阅资料用一下方法解决:

bar(c,'FaceColor','b', 'EdgeColor', 'b')
hold on
bar(b,'FaceColor','r', 'EdgeColor', 'r')

其中c为所有的数据;b仅有需要标记的数据,其它的值为0;颜色改变如下:

利用Matlab画一组数据不同颜色的条形图(Bar)