Dynamic Legends plot option (error: two legend lines for each plot)
2 views (last 30 days)
Show older comments
I have a function which makes a plot from different vectors, then each time that I add a new plot I need to add a new legend which is a variable(legend) now I trying to do it with the next code:
plot_test = plot(vector1, vector2, '-mo','Color',color, 'DisplayName',legend);
hold all;
legend('-DynamicLegend');
but as result I got two new legends for each plot, one whith the real name and another called line2, line4, line6....and so on depending the number of plots...
Any help please?
0 Comments
Accepted Answer
Azzi Abdelmalek
on 3 Sep 2013
Edited: Azzi Abdelmalek
on 3 Sep 2013
Look at this example
x=0:0.1:10;
y1=sin(x);
plot(x,y1)
hl=legend('leg1')
hold all
y2=cos(x)
plot(x,y2)
leg=[get(hl,'string'), 'leg2']
hl=legend(leg)
3 Comments
Azzi Abdelmalek
on 3 Sep 2013
Add to your input and output argument of your function the handles old_hl and hl
More Answers (1)
Robert Cumming
on 3 Sep 2013
Is this the type of feature your after:
figure;
x = [0:0.01:2*pi];
hold on;
plot ( x, sin (x), 'DisplayName', 'Plot A' )
legend ( '-dynamicLegend' )
plot ( x,- sin (x), 'r', 'DisplayName', 'Plot B' )
plot ( x, 2*sin (x), 'g', 'DisplayName', 'Plot C' )
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!