我需要在一个窗口中绘制3条线。 3行取决于变量nbPoints
。问题是:图例中的线条只有1种颜色:红色。对此有什么解决方案?
谢谢!
hold on
nbPoints = [6 10 14];
for nb = nbPoints
interpolatiepunten = linspace(-1,1,nb);
veelterm = interpolerende_veelterm(interpolatiepunten, rungeFunctie, 'lagrange');
y = zeros(201);
index = 1;
for i = -1:0.01:1
y(index) = veelterm.val(i);
index = index + 1;
end
if (nb == 6)
color = 'r';
elseif (nb == 10)
color = 'b';
else
color = 'g';
end
plot(-1:0.01:1, y, color);
end
legend({'a', 'b', 'c'});
% legend('a', 'b', 'c'); does not work
hold off
答案 0 :(得分:0)
我之前使用过循环和绘图颜色循环,使用这种方法:
Colortypes = ['r','b','g'];
nbPoints = [6 10 14];
x = [1:10];
figure
hold on
loop_ind = 1;
for ii=nbPoints
y = ii*x;
linespecvec = Colortypes(loop_ind);
plot(x,y,linespecvec)
loop_ind = loop_ind+1;
end
legend('a','b','c')
因此,线条颜色循环,就像nbPoints循环一样。结果图是: