【发布时间】:2018-10-28 03:48:53
【问题描述】:
如何更改条形图中某个条形元素的颜色?因为似乎我的 Matlab 版本(2015b)不允许我使用 b.LineWidth b.EdgeColor 或 CData。我的代码如下所示;
b = bar(1:30);
b.FaceColor = 'flat';
[bv,bi] = max(1:30);
b(bi).LineWidth = 2;
b(bi).EdgeColor = 'red';
使用 b.LineWidth 和 b.EdgeColor 时出现此错误;
类 matlab.graphics.GraphicsPlaceholder 不存在公共属性 LineWidth。 tt 中的错误(第 5 行)
以及使用CData的错误;
b = bar(1:30);
b.FaceColor = 'flat';
[bv,bi] = max(1:30);
b.CData(bi) = [0.4,0.4,0.4];
类“matlab.graphics.chart.primitive.Bar”没有合适的方法、属性或字段“CData”。
【问题讨论】:
-
您确定没有
LineWidth或EdgeColor? The documentation for R2015b 另有说明。这也都在9th example in the R2015b documentation 中明确解决。 -
是的,当然。这是错误;类“matlab.graphics.chart.primitive.Bar”没有合适的方法、属性或字段“CData”。 tt 中的错误(第 5 行) b.CData(bi) = [0.4,0.4,0.4];
-
也适用于其他人;类 matlab.graphics.GraphicsPlaceholder 不存在公共属性 LineWidth。 tt 中的错误(第 5 行)b(bi).LineWidth = 2;
-
matlab.graphics.GraphicsPlaceholder表示您没有正确处理bar的输出。请edit您的帖子包含minimal reproducible example。 -
b(bi).LineWidth = 2;不在您提供的代码中。再次,请阅读minimal reproducible example。如果您不这样做,我们将无法帮助您。