Custom Legend Placement on a Plot

36 visualizaciones (últimos 30 días)
Jim
Jim el 21 de Mzo. de 2013
Comentada: Sebastian Lopez el 30 de Dic. de 2020
I want to place a legend below the Title but above the plot area of a scatter plot. It looks like the built-in methods place the legend within the Plot Area or outside of the area defined by the Plot Area and Title. Is this true?
One method I considered was to include the contents of the legend in the bottom rows of a multi-line Title. However, I cannot figure out how to replicate the line / marker styles in a string (I am specifying the line and marker styles to be used in the plot).

Respuestas (1)

Peter
Peter el 21 de Mzo. de 2013
You could create a multiline title, using spaces to create room for the legend, and then move the legend, using its position property, like:
title({'Title';' ';' ';' '})
h = legend('line1','line2');
pos = get(h,'Position');
posx = 0.5;
posy = 0.85;
set(h,'Position',[posx posy pos(3) pos(4)]);
Change posx and posy to position your legend.
  3 comentarios
Peter
Peter el 22 de Mzo. de 2013
Don't the line/marker styles appear in the legend box that is created with the h = legend(...) command?
Sebastian Lopez
Sebastian Lopez el 30 de Dic. de 2020
Works perfectly fine! Thanks

Iniciar sesión para comentar.

Categorías

Más información sobre Legend en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by