Help With Plot Legend
2 ビュー (過去 30 日間)
古いコメントを表示
hello,
if i have a cell array of strings for example:
cell{1}='st1';
cell{2}='st2';
cell{3}='st3';
and make a plot with 3 lines each with variable name cell{n}.
Why is it that writing:
legend(cell{1}, cell{2}, cell{3})
only returns a legend with the one variable name cell{3} in it?
Is there a way of doing this for more than 3 variables using a loop?
2 件のコメント
Walter Roberson
2012 年 5 月 11 日
Duplicate is at http://www.mathworks.com/matlabcentral/answers/38113-plot-help
Dr. Seis
2012 年 5 月 12 日
I guess the question is... how is your plots set up? Can you copy/paste that part of your code?
回答 (2 件)
Dr. Seis
2012 年 5 月 11 日
If you are just trying to apply the 3 legend strings to 3 lines on a plot, then all you need to do is:
legend(cell)
Take a look at these other posts related to legend entries for more help:
and
0 件のコメント
Image Analyst
2012 年 5 月 11 日
It doesn't. Here, try this:
cellArray{1}='st1';
cellArray{2}='st2';
cellArray{3}='st3';
colorMap = lines(8)
for k = 1:3
y = rand(1,10);
plot(y, 'Color', colorMap(k,:));
hold on;
end
legend(cellArray{1}, cellArray{2}, cellArray{3});
But I did notice something very bad in your code. You overwrote the built-in MATLAB function called "cell" with your variable named "cell." Don't do that. Other common functions/entities people destroy are "i", "j", and "image".
2 件のコメント
Image Analyst
2012 年 5 月 12 日
I guess I don't get it. You could call plot() 3 times with different variables and call legend and have all variable names show up in the legend. You could make 3 arrays, st1, st2, and st3, and call plot(st1), plot(st2), and plot(st3) and then call legend and have 3 lines with each name beside a line in the legend.
Walter Roberson
2012 年 5 月 12 日
IA, my comment was in response to a comment from someone else that has since been deleted.
参考
カテゴリ
Help Center および File Exchange で Legend についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!