我怎样才能改变在MATLAB每次迭代情节的颜色吗?(How can I change the col

2019-09-01 04:42发布

以下是我的MATLAB代码的一部分。 因为它的显示,我想在绘制一张图8条曲线。 但是,我想和一个独特的颜色每条曲线。 我也想改变图例,以便它改变了每个i

例如,对于i = 1个的图例将GHO-1,对于i = 2的gho-2,依此类推。 我希望它是自动因为我将改变i有时从例如:(ⅰ= 1:20)。

for i=1:8
.
.
.
plot(b,r,'b');
legend(['qho-',num2str(i)]);    
hold on
end

我怎样才能做到这一点?

你好,我们又见面了,

我有其他的问题:如果我有以下

for i=1:8
.
b1=(1:3,:)
b2=(3:6,:)
figure(1);plot(b1,r,'*');
figure(2);plot(b2,r,'*');

Leg{i} = ['qho-',num2str(i)];    

end
legend(Leg)

我只有最后一个数字只是颜色图例。 不是两个。我怎样才能解决呢?!

再次感谢

Answer 1:

只要使用hold all ,而不是hold on ,把传奇的标签在单元阵列

hold all
for i=1:8
    .
    .
    .
    plot(b,r);

    Leg{i} = ['qho-',num2str(i)];    

end
legend(Leg)

例如,见这个问题: 稀疏矩阵图MATLAB


注意:

MATLAB R2014b开始hold on已被修改,像hold all ,即改变每次一绘制的曲线的颜色。 该文档说明的是, hold all语法将在以后的版本中删除。



Answer 2:

如何是这样的:

figure, hold on
N = 8;
h = zeros(N,1);    %# store handle to line graphic objects
clr = lines(N);    %# some colormap
for i=1:N
    %# plot random data
    y = cumsum(randn(100,1));
    h(i) = plot(y, 'Color',clr(i,:));
end
hold off
legend(h, num2str((1:N)','gho-%d'))    %# display legend



文章来源: How can I change the color of the plot in each iteration in MATLAB?