Insert legend in a for loop
16 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Daniel Shub
on 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 Comments
More Answers (0)
See Also
Categories
Find more on Legend in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!