将正条形图值设置为红色和负值为蓝色时的颜色问题? MATLAB

时间:2013-09-29 18:01:59

标签: matlab bar-chart

所以我目前确实有一个条形图显示红色的正值和蓝色的负值,但我的问题是当条形图显示所有负值或所有正值时,着色全部搞砸了。以下是我的代码:

dd = Data;
s = sign(dd);
barr = bar(dd); 
set(get(barr,'children'),'cdata',s);  

我也试过SET'FaceVertexCData'。

谢谢!

2 个答案:

答案 0 :(得分:0)

在一个情节中制作两个条形图

x = 1:length(s);

bar( x(s>0), dd(s>0), 'b');
hold on;
bar( x(s<0), dd(s<0), 'r');

答案 1 :(得分:0)

您必须使用

定义一些颜色限制
set(gca, 'CLim', [-1 1]);

没有它,当所有迹象都是正面或负面(例如s = [1 1 1 1])时,条形图以绿色绘制,这对应于色彩图的平均值。将颜色限制设置为[-1 1]会强制matlab使用颜色映射的极值。您也可以通过将CLim设置为[-10 10]来更改颜色。