我在Matlab中有一条带有几条线的图,我想事后控制线条颜色:
figure; hold on;
for ind=1:4
plot(rand(1,10))
end
我知道我可以使用
set(0,'DefaultAxesColorOrder',summer(4))
在打印之前,更改打印线的颜色,但是(如何)在查看打印后可以实现相同的目的?可以尝试一些不同的颜色方案吗?
答案 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