How to assign a different color to lines being plotted in a loop?

Hi All
I am plotting n different lines in one single plot. but what I need it to assign a different color ( even random) for each iteration. and then use it as a Legend.
How do I do this ?

1 Comment

The accepted answer states that line color is determined by the lines colormap. This is not correct.
Line colors are determined by the axes ColorOrder property:
The lines colormap is also defined in terms of the axes ColorOrder.

Sign in to comment.

 Accepted Answer

* Edits: Sorry for the wrong information about the default line color.
Otherwise, you can try
figure
hold on
randColor = rand(10,3);
for i = 1:10
plot(x(:,i),y(:,i),'Color',randColor(i,:));
end
legend
But the color would be ugly. Instead of rand, you can try other available colormap. For example
figure
hold on
cm = parula(10);
for i = 1:10
plot(x(:,i),y(:,i),'Color', cm(i,:));
end
legend

More Answers (1)

You can make a cell array for each color you want and the pull from it
colors = {['red'],['blue']}
for rep = 1:2
plot((x,rep.*x), colors{rep})
end
This will plot two lines, the first red and the second blue

Categories

Asked:

on 8 May 2020

Edited:

on 12 May 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!