Tweak legend entries without creating a new legend
60 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Chad Greene
el 11 de Jul. de 2014
Respondida: Rodrigo Bernal
el 13 de Jul. de 2021
I have created a plot with a legend and now I would like to edit legend entries without recreating the whole legend. For example, for five legend entries I would like to reorder them like
newOrder = [2 3 5 4 1];
I can reorder the entries by first getting current legend handles and strings like this:
[~,~,plot_h,text_strings] = legend;
And then I can reorder the entries like this:
legend(plot_h(newOrder),text_strings{newOrder})
However, this doesn't only reorder the legend; it seems to delete the legend I'd already created, with its perfect placement and color scheme, etc, and creates a new legend with entries in the correct new order. How can I edit these entries without screwing up the placement, colors, boxoff, etc that I've already set?
0 comentarios
Respuesta aceptada
Más respuestas (2)
Rodrigo Bernal
el 13 de Jul. de 2021
Edit a specific legend entry of an existing legend:
figu=gca;
figu.Legend.String(6)={'Edit the 6th legend'};
0 comentarios
Ben11
el 11 de Jul. de 2014
Editada: Ben11
el 11 de Jul. de 2014
Maybe assign a handle to your legend in the first place, eg
hLegend = legend(...);
and then change the String property with the new order:
set(hLegend,'String',newOrder);
This should only update the current legend without replacing it.
2 comentarios
Ver también
Categorías
Más información sobre Legend 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!