Help With Plot Legend

2 vues (au cours des 30 derniers jours)
Edward
Edward le 11 Mai 2012
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 commentaires
Walter Roberson
Walter Roberson le 11 Mai 2012
Duplicate is at http://www.mathworks.com/matlabcentral/answers/38113-plot-help
Dr. Seis
Dr. Seis le 12 Mai 2012
I guess the question is... how is your plots set up? Can you copy/paste that part of your code?

Connectez-vous pour commenter.

Réponses (2)

Dr. Seis
Dr. Seis le 11 Mai 2012
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

Image Analyst
Image Analyst le 11 Mai 2012
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 commentaires
Image Analyst
Image Analyst le 12 Mai 2012
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
Walter Roberson le 12 Mai 2012
IA, my comment was in response to a comment from someone else that has since been deleted.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by