Salvador Dali
Salvador Dali

Reputation: 222461

matlab plot the matrix with custom colors

Is there a way to specify the colors of the lines when plotting the matrix.

For instance:

// 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)

Using

plot(A, 'r')

just colors everything in red (which is expected) When trying something like

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

or

plot(A, 'rgb')

does not work (which is not surprising)

So is there any way to specify color for each line?

Upvotes: 4

Views: 5399

Answers (2)

Gunther Struyf
Gunther Struyf

Reputation: 11168

You can change the color afterwards:

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

Example:

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

enter image description here

Upvotes: 8

Brian L
Brian L

Reputation: 3251

The plot function doesn't provide a way to do it as concisely as in your example. Instead, you can try:

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

Upvotes: 2

Related Questions