MATLAB: Custom colors in plot (without loop)

custom colorplotplot color

Hi, suppose I have a custom color array:
c=[1 0 0
0 1 0
0 0 1]
Is there a way use the color array in a plot without looping? The following doesn't work:
plot(rand(100,3),'color',c)

Best Answer

  • Another option is to set the color after plotting via the cell array set syntax:
    c = [...
    1 0 0
    0 1 0
    0 0 1];
    h = plot(rand(100,3));
    set(h, {'color'}, num2cell(c,2));
    It requires an extra line of code, but I've always found this much easier than messing with default color order, hold settings, etc.