Can MATLAB legend color order be changed as the legend element order changes?
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Brad
el 15 de Jun. de 2015
Respondida: Brad
el 18 de Jun. de 2015
Using the following code from the 'Specify Legend Descriptions During Line Creation' example in MATLAB help, I've created the following plot:
I've successfully changed the order of the legends entries using the following steps:
1. Clicked the arrow button so I could select the legend
2. Double clicked on the legend
3. Selected More Properties from the property editor
4. Selected the 'String' property and re-ordered the elements of the legend
The order of the legend elements did change. However, the associated color scheme did not.
Is there a separate function for this? Can the color order be changed as well?
Thanks.
0 comentarios
Respuesta aceptada
Mike Garrity
el 16 de Jun. de 2015
I got lost at this step:
4. Selected the 'String' property and re-ordered the elements of the legend
I don't think that there's anything in the editor for the String property which lets you re-order the elements of the legend.
Perhaps you just changed the edited the strings without changing the order? To actually change the order of the entries, you probably want to do something like this:
legend([p2 p3 p1])
or even
p = [p1 p2 p3];
for i=1:100
legend(p(randperm(3)))
drawnow
end
0 comentarios
Más respuestas (2)
Joseph Cheng
el 15 de Jun. de 2015
I'll start off with Yes it can be done, and No there is not a separate function. What you did by double clicking is not changing the assignment but just the displayed text. There is some trickery to change the color, positioning, text, etc of a legend I would say it is much easier to just follow the documentation on legend than dig into its parameters. Plot the lines in the order you want to display it in the legend and label the lines using legend() appropriately.
2 comentarios
Joseph Cheng
el 16 de Jun. de 2015
legend element is tied to the displayed line (color, marker type, line style, etc.). If they are not and are mixed up I would say there is 99% your inputs to the legend function is probably in the wrong order.
Ver también
Categorías
Más información sobre Legend en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!