Align the Legend Title to the Legend body
Afficher commentaires plus anciens
Hi, How can I align the Legend Title to the Legend body (variables, etc..)? Maybe left-aligned ?

6 commentaires
Adam Danz
le 14 Sep 2020
Tough one. The title property for legends doesn't have a HorizontalAlignment property nor a position property.
If you add space before the legend title (ie, " my title"), the title will be offset to the right. But if you add space after the title, the space is ignored. I haven't looked any deeper than that, though.
Adam Danz
le 14 Sep 2020
If you contact tech support, they will either suggest a workaround or they may put it on their list of things to improve.
Maybe there's an undocumented method I'm not aware of.
Adam Danz
le 14 Sep 2020
I'd be interesting in whatever you find.
A possible (not too elegant) workaround is to use the latex interpreter and shift the text manually. E.g.:
fplot(@(x)sin(x),[0,2*pi])
hl = legend('Our quite long legend to see the centering of the title','interpreter','latex');
title(hl,'Legend title \hspace{8 cm}','interpreter','latex')
Réponses (1)
Ayush Gupta
le 18 Sep 2020
The legend title is by-default left aligned to legend body. Refer to the code below which generates the following picture and read the documentation on how to add legend title, here.
x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)
hold on
y2 = cos(2*x);
plot(x,y2)
hold off
lgd = legend('cos(x)','cos(2x)');
title(lgd,'My Legend Title')

9 commentaires
Adam Danz
le 18 Sep 2020
I don't have access to Matlab at the moment but I'm fairly certain the default alignment is center for legend titles.
If you add space to the beginning of the title you can offset it rightward but if you add space to the right of the title the spaces are trimmed and the title remains centered. At least this is what I remember finding when I was playing around with this in r2019b.
Adam Danz
le 20 Sep 2020
@Sim
I just saw that as of r2020b you can control the justification of titles but I haven't tested whether or not this works with legend titles.
Adam Danz
le 23 Sep 2020
I've checked since I made that comment and legend titles are not supported with the updated features.
In fact, I wrote a Community Highlights about these new features.
Title alignment is controlled by the new "TitleHorizontalAlignment" property of axes. Legends still do not have such a property.
Sim
le 23 Sep 2020
Sim
le 17 Août 2026 à 14:35
Catégories
En savoir plus sur Legend dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
