根据颜色图更改现有的绘图线

时间:2020-01-13 16:30:02

标签: matlab graphics formatting matlab-figure

我在Matlab中有一条带有几条线的图,我想事后控制线条颜色:

figure; hold on;
for ind=1:4
  plot(rand(1,10))
end

我知道我可以使用

set(0,'DefaultAxesColorOrder',summer(4))

在打印之前,更改打印线的颜色,但是(如何)在查看打印后可以实现相同的目的?可以尝试一些不同的颜色方案吗?

1 个答案:

答案 0 :(得分:2)

默认情况下,每个图都从其轴的属性'ColorOrder'中获取其颜色,而默认情况下,该颜色又从groot对象的'DefaultAxesColorOrder'中获取。

创建绘图后,您需要分别修改其颜色;更改上述属性不会影响它们:

g = findobj(gca, 'Type', 'line'); % children of current axis that are lines
c = summer(numel(g)); % desired color scheme, with that many colors
for k = 1:numel(g)
    set(g(k), 'color', c(k,:));
end