Insert legend in a for loop
23 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I'm producing a figure inside a for loop and would like to insert a legend. The script for the figure is as follows:
Name={'Data1','Data2','Data3'};
cmap = hsv(length(fieldnames(Data)));
str = 'LWST : ';
for i=1:length(fieldnames(Data));
plot(Data.(Name{i}),'Color',cmap(i,:));hold on
end
So, in order to insert a legend I include the following command in the loop:
legend(Name(i));
But the legend just overlies the previous one. So, instead of having a legend showing the 3 datasets it only shows one! what should I do?
0 commentaires
Réponse acceptée
Daniel Shub
le 10 Jan 2012
Move your legend command outside the loop ...
for i=1:length(fieldnames(Data));
plot(Data.(Name{i}),'Color',cmap(i,:));hold on
end
legend(Name);
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!