在Matlab中设置绘图功能的颜色

时间:2011-11-03 22:05:39

标签: matlab colors plot

我希望能够为多线图选择颜色,但我无法得到它。这是我的代码

colors = {'b','r','g'};
T = [0 1 2]';
column = [2 3];
count = magic(3);
SelecY = count(:,column),
plot(T,SelecY,'Color',colors{column});

2 个答案:

答案 0 :(得分:4)

出于某种原因,我不能在不使用句柄的情况下使用它,但是:

h = plot(T,SelecY);
set(h, {'Color'}, colors(column)');

适合我。

答案 1 :(得分:3)

您只能一次指定一种颜色,并且必须将其指定为3元素RGB矢量。你的三条路线是:

  1. 循环并按字符串指定颜色,就像你拥有它们一样:

    hold on
    for i=1:size(SelecY, 2)
        plot(T, SelecY(:,i), colors{i});
    end
    
  2. 使用RGB颜色规范,您可以通过“颜色”属性传递颜色,就像您上面尝试的那样:

    cols = jet(8);
    hold on
    for i=1:size(SelecY, 2)
        plot(T, SelecY(:,i), 'Color', cols(i,:));
    end
    
  3. 同样使用RGB方式,您可以预先指定ColorOrder,然后让matlab循环:

    set(gca, 'ColorOrder', jet(3))
    hold all
    for i=1:size(SelecY, 2)
        plot(T, SelecY(:,i));
    end
    
  4. 在之后设置颜色,请参阅另一个答案。