Legend with certain number of rows and columns
62 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
dj1du
le 25 Jan 2023
Commenté : Davide Masiello
le 25 Jan 2023
Hello everyone,
I would like to plot 6 curves in a diagram and the legend should have the first 4 curves in the first column and the last two curves in the second column. How can I arrange this? Thank you very much for your help!
1 commentaire
Askic V
le 25 Jan 2023
Davide provided the answer. Just in case you're interested to learn more about different options, similar question was answered by Mathworks Support Team here:
https://www.mathworks.com/matlabcentral/answers/337756-how-can-i-make-a-legend-that-has-both-rows-and-columns
Réponse acceptée
Davide Masiello
le 25 Jan 2023
Modifié(e) : Davide Masiello
le 25 Jan 2023
x = linspace(0,1,1000);
n = (1:6)';
y = x.^n;
p = plot(x,y);
title('y = x^n')
legendflex(p,{'n=1','n=2','n=3','n=4','n=5','n=6'},...
'ncol',2,'nrow',4,'anchor',[1 1],'buffer',[10 -10],'box','off')
2 commentaires
Davide Masiello
le 25 Jan 2023
I guess this could be considered cheating, but it does work
x = linspace(0,1,1000);
n = (1:6)';
y = x.^n;
p1 = plot(x,y(1,:)); hold on
p2 = plot(x,y(2,:));
p3 = plot(x,y(3,:));
p4 = plot(x,y(4,:));
p5 = plot(x,y(5,:));
p6 = plot(x,y(6,:));
title('y=x^n')
legendflex(p1,{'n=1'},'anchor',[1 1],'buffer',[10 -10],'box','off')
legendflex(p2,{'n=2'},'anchor',[1 1],'buffer',[10 -25],'box','off')
legendflex(p3,{'n=3'},'anchor',[1 1],'buffer',[10 -40],'box','off')
legendflex(p4,{'n=4'},'anchor',[1 1],'buffer',[10 -55],'box','off')
legendflex(p5,{'n=5'},'anchor',[1 1],'buffer',[80 -10],'box','off')
legendflex(p6,{'n=6'},'anchor',[1 1],'buffer',[80 -25],'box','off')
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!