matlab使用自定义颜色绘制矩阵

时间:2012-12-06 23:19:20

标签: matlab

在绘制矩阵时,有没有办法指定线条的颜色。

例如:

// here is my matrix A
A = [13, 3, 4;19, 0, 1;18, 0, 2;19, 0, 1;19, 0, 1]; 
// when I am plotting it I am not in control of what color each line will be
plot(A)

使用

plot(A, 'r')

只是将所有颜色都换成红色(这是预期的) 尝试类似

plot(A, ['r', 'g','b'])

plot(A, 'rgb')

不起作用(这并不奇怪)

那么有没有办法为每一行指定颜色?

2 个答案:

答案 0 :(得分:8)

您可以在之后更改颜色:

A = [13 3 4;
     19 0 1;
     18 0 2;
     19 0 1;
     19 0 1];

p=plot(A);

clrs = jet(numel(p)); % just a Nx3 array of RGB values
for ii=1:numel(p)
    set(p(ii),'color',clrs(ii,:));
end

示例:

A=sin(repmat(linspace(0,2*pi,200),20,1)'*diag(linspace(1,2,20)));
% same thing as above

enter image description here

答案 1 :(得分:2)

plot函数没有提供像您的示例中那样简洁的方法。相反,你可以尝试:

plot(A(:, 1), 'r', A(:, 2), 'g', A(:, 3), 'b');