Insert legend in a for loop

16 ビュー (過去 30 日間)
Richard
Richard 2012 年 1 月 10 日
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?

採用された回答

Daniel Shub
Daniel Shub 2012 年 1 月 10 日
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 件)

カテゴリ

Help Center および File ExchangeLegend についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by