Matlab技术问询:如何设置误差棒颜色与曲线不同?已尝试代码但全图变红
如何单独设置Errorbar曲线与误差棒的颜色
我来帮你解决这个问题~你遇到的情况是因为Matlab里errorbar返回的是一个复合图形对象,直接修改它的Color属性会同时把曲线和误差棒的颜色都改掉,所以才会整个图变成红色。下面分版本给你对应的解决方案:
对于Matlab R2014b及以后的版本(推荐)
这个版本开始errorbar返回的是一个Errorbar对象,你可以直接访问它的子属性来分别设置曲线和误差棒的颜色:
% 先绘制errorbar pp = errorbar(x, testMatriceFluxSortie/ValeurFluxSortie(1,1), err); % 设置曲线的颜色(这里用蓝色为例,你可以换成自己需要的RGB值) pp.Line.Color = [0 0 1]; % 设置误差棒的颜色(这里用红色为例) pp.ErrorBar.Color = [1 0 0];
如果需要单独调整误差棒帽线的颜色,还可以加上:
% 设置误差棒帽线的颜色(默认和误差棒线条颜色一致,也可以单独修改) pp.ErrorBar.CapColor = [1 0 0];
对于Matlab R2014a及更早的版本
旧版本中errorbar返回的是一个句柄数组,分别对应曲线、误差棒线条和帽线,你需要逐个设置:
% 绘制errorbar并获取句柄数组 h = errorbar(x, testMatriceFluxSortie/ValeurFluxSortie(1,1), err); % 设置曲线颜色(h(1)对应曲线) set(h(1), 'Color', [0 0 1]); % 设置误差棒线条颜色(h(2)对应误差棒线条) set(h(2), 'Color', [1 0 0]); % 设置误差棒帽线颜色(h(3)对应帽线) set(h(3), 'Color', [1 0 0]);
这样操作后,曲线和误差棒就会呈现不同的颜色啦~
内容的提问来源于stack exchange,提问作者StarGit




