【发布时间】:2017-11-14 09:07:50
【问题描述】:
Matlab 示例代码无法在 Matlab 2017a (Linux 64bits) 中运行: https://cn.mathworks.com/help/matlab/ref/bar.html
b = bar(rand(10,1));
b.FaceColor = 'flat';
b.CData(2,:) = [.5 0 .5];
它无法为特定条着色并警告为:
类 matlab.graphics.chart.primitive.Bar 不存在公共属性 CData。
我不知道这只是 Matlab 2017b 的特定功能?
此代码仅用于为特定条着色。在 Matlab 2012a 中,可以通过以下方式轻松完成:
bh=bar(MyStem); h=get(bh, 'children');
shading flat; set(h,'FaceVertexCData',MyColor);
我不明白为什么 Matlab 2017 会删除此功能。
【问题讨论】:
-
CData是 2017b 的新属性。如果你只想改变一个条的颜色,这里有一些好主意:stackoverflow.com/questions/45568120/… -
感谢您的快速回答,在Matlab 2017b之前既没有CData也没有
get(barHandle, 'children')的尴尬。
标签: matlab colors matlab-figure