Assign different colors to multiple plots without loop
19 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Saeid
el 8 de Dic. de 2018
Comentada: Saeid
el 8 de Dic. de 2018
I have one array x and a multi-column array Y and would like to plot all Y#s on the same diagram against X and assign each plot a different color, coming from the color array named ColorSpec (e.g. ColorSpec=[0 0 0; 1 0 0, ...]). Although using a loop is always an option but since this will happen multiple times in the code I would like to avoid a loop for brevity. Is this possible?
0 comentarios
Respuesta aceptada
the cyclist
el 8 de Dic. de 2018
Here is one way:
ColorSpec = [0 0 0;
1 0 0;
0 1 0;
0 0 1];
% Pretend data
x = sort(rand(3,1));
y = rand(3,4);
figure
ax = axes;
ax.ColorOrder = ColorSpec;
ax.NextPlot = 'add';
plot(x,y)
4 comentarios
the cyclist
el 8 de Dic. de 2018
It is OK if ColorSpec has more rows than lines in the plot. The plot will just use the first rows as needed.
It is also OK if ColorSpec has fewer rows than lines in the plot. The plot will "recycle" colors from the beginning again.
Más respuestas (0)
Ver también
Categorías
Más información sobre Line Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!