我将参考的数字,可以在这里找到:http://oi44.tinypic.com/2utgbo3.jpg
我正在尝试创建一个类似于Plot 1中所示的绘图。根据Plot 2中显示的值,堆叠条的颜色(主要是框)应该改变。
经过一些研究,我发现以下Solution on mathworks用于在matlab中对条形图进行单独着色。
我现在遇到的麻烦是将问题调整到堆叠的条形图。 为了简单起见,我首先尝试更改堆叠图表的mathworks解决方案中的代码:
mydata=rand(2,3); % here I added a 2nd row
bar_h=bar(mydata,'stack'); % here I added 'stack'
bar_child=get(bar_h,'Children');
set(bar_child,'CData',mydata);
mycolor=[0 0 0;0 0 1;1 0 0];
colormap(mycolor)
set(bar_child,'CDataMapping','direct');
for iCount=1:length(mydata)
if (mydata(iCount)<.2)
index(iCount)=1;
elseif(mydata(iCount)>=.6)
index(iCount)=3;
else
index(iCount)=2;
end
end
set(bar_child, 'CData',index);
colormap(mycolor);
第一个问题出现在这一行:
set(bar_child,'CData',mydata);
出现以下错误:
使用set conversion从单元格加倍时出错是错误的。
你能帮我一些帮助,为叠加杆调整这个解决方案吗?
此致
熊利