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 comentario

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.

Iniciar sesión para comentar.

 Respuesta aceptada

Akihumi
Akihumi el 8 de Mayo de 2020
Editada: Akihumi el 12 de Mayo de 2020
* 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

Más respuestas (1)

Isiah Pham
Isiah Pham el 8 de Mayo de 2020
Editada: Isiah Pham el 12 de Mayo de 2020
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

Categorías

Más información sobre Color and Styling en Centro de ayuda y File Exchange.

Preguntada:

el 8 de Mayo de 2020

Editada:

el 12 de Mayo de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by