
legend ignores leading whitespace, thus ignoring field width and messing up alignment
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi!
I am creating a legend where each entry has the same number of characters, padded if necessary by leading whitespace. When I pass this to "legend", this whitespace gets ignored and the "significant characters" centered. Does anyone know how I can force the legend to take the white space into account? Or simply right-align the text?
Mini-example showing the problem:
x = 0:0.1:5;
y = sin(x);
a = logspace(-3,0,10);
% create string array, fixing the field width
tmp = arrayfun(@(x)sprintf('%8.3g %s',x,'Shift'),a,'UniformOutput',0)
figure
for i = 1:length(a)
plot(x,y+exp(a(i))); hold on;
end
legend(tmp) % create legend
Thanks!
0 commentaires
Réponse acceptée
the cyclist
le 27 Nov 2015
Modifié(e) : the cyclist
le 27 Nov 2015
You need to choose a fixed-width font. For example
h = legend(tmp) % create legend
set(h,'FontName','monospaced')

0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Legend dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!