Multiple legands with semilogy

37 views (last 30 days)
matt reister
matt reister on 9 Feb 2011
I am using a loop to plot multiple plots in the same windows I would like to use mutliple legands to identify each data set. When i try to use legend('label1','label2') it says:
"Warning: Ignoring extra legend entries."
and when I attempt to call legend multiple times it simply replaces the old legend. I would prefer if there is a way i could call legend each time I add a new data set to the graph.

Answers (2)

Gurudatha Pai
Gurudatha Pai on 18 Jun 2011
My guess is that you are probably using more strings in legend(); e.g: you are plotting only one array and passing two legend strings like below
plot(x,y);
legend('labels', 'label2');
you could probably do
h= figure();
plot(x,y)
hold on
plot(x, y2);
legend('labels', 'label2');
You could as well do something like this for each of your plots
h= figure();
hold on
plot(x,y);
legendmat = [legendmat; 'label1']
legend(legendmat)
% some other code
figure(h)
plot(x, y2);
legendmat = [legendmat; 'label2']
legend(legendmat)
% some other code
figure(h)
plot(x, y3);
legendmat = [legendmat; 'label3']
legend(legendmat)

SUDIP PODDAR
SUDIP PODDAR on 6 Aug 2011
??? Undefined function or variable 'legendmat'. give this error . what is the solution?
  1 Comment
Muhammad Anjum Qureshi
Muhammad Anjum Qureshi on 15 Dec 2017
Add
legendmat = ''
only before first
legendmat = [legendmat; 'label1']

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!