Legend does not refresh after hold command

2 次查看(过去 30 天)
Let'say I plot 2 lines and I want to display a legend
plot(1:10,'b','displayname','1st graph')
hold on
plot(3:5,'r','displayname','2ng graph')
legend('show')
It works as expected, I have a legend and 2 annotations.
Not let's say I also want to display the legend before the hold command (for any reason) :
plot(1:10,'b','displayname','1st graph')
legend('show')
hold on
plot(3:5,'r','displayname','2ng graph')
legend('show')
This time only the first annotation is displayed . I expected that recalling legend will refresh the legend information.
  1. Is it the expected behavior?
  2. What are the best practices to call legend ?
  3. Do we have to call legend ONCE and only after having plotted everything?
Thanks for your tips,
Aurélien

采纳的回答

Aurelien Queffurust
I have just noticed that there was no answer . Since this question I found 3 workarounds :
This is one :
plot(1:10,b',displayname,1st graph)
legend(-DynamicLegend);
legend(show)
hold on
plot(3:5,r',displayname,2ng graph)
legend(show)
Another solution from Yair : here

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Legend 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by