在MATLAB中使用不同颜色的矢量化绘制多条线?

时间:2016-10-23 01:31:43

标签: matlab

有没有办法矢量化/加速绘制不同颜色的多条线的任务?

工作但缓慢的方法是

X = [1 2; 3 4];
Y = [2 -4; 5 2];
figure;
hold on;
colors = [1 0 0; 0 1 0];
for idx = 1:size(X, 2)
    l = plot(X(:, idx), Y(:, idx), 'Color', colors(idx, :));
end
hold off;

我试过

X = [1 2; 3 4];
Y = [2 -4; 5 2];
figure;
plot(X, Y, 'Color', [1 0 0; 0 1 0]);

但没有运气。

1 个答案:

答案 0 :(得分:2)

这可能太糟糕了,无法成为循环的有用替代品,但在这里:

set(gca, 'ColorOrder', [1 0 0; 0 1 0], 'NextPlot', 'add')
plot(X, Y);

'ColorOrder'属性包含默认情况下新图表使用的颜色。似乎有必要将'NextPlot'设置为'add',以便对plot的调用不会将'ColorOrder'重置为其默认值。

在R2015b上测试。