Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

matlab plot the matrix with custom colors

Tags:

matlab

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?

like image 631
Salvador Dali Avatar asked Dec 26 '22 13:12

Salvador Dali


2 Answers

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

like image 155
Gunther Struyf Avatar answered Jan 09 '23 06:01

Gunther Struyf


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');
like image 32
Brian L Avatar answered Jan 09 '23 07:01

Brian L