0

我需要在一个窗口中绘制 3 行。3 行取决于变量nbPoints。问题是:图例中的线条只有一种颜色:红色。什么是解决方案?

谢谢!

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
4

1 回答 1

0

我以前使用过带有绘图颜色循环的 for 循环,使用这种方法:

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 循环通过一样。结果图是:

在此处输入图像描述

于 2013-05-08T00:35:19.340 回答