legend dynamically updated

12 vues (au cours des 30 derniers jours)
Chiara Modenese
Chiara Modenese le 21 Mar 2011
Commenté : Moritz Stich le 31 Mar 2022
Hi, my task would be to have a legend which is update dynamically as I loop over some data extracted from different files and I add them to a same plot, for instance. To put it better, I would like to "append" a label to my legend every time I update my plot. Would you know how to do it?
Chiara
  4 commentaires
Matthew
Matthew le 25 Sep 2018
Those were the days.
Moritz Stich
Moritz Stich le 31 Mar 2022
Jon Bailey you are a dynamic legend. Thanks

Connectez-vous pour commenter.

Réponse acceptée

Paulo Silva
Paulo Silva le 21 Mar 2011
clf
clc
hold all
x=0:0.01:2*pi;
b=zeros(5);
for a=1:5
b(a)=plot(x,sin(a*x));
legend(b(1:a))
pause(1) %just to see it being draw
end
Alternative with choosen names for each plot
clf
clc
hold all
x=0:0.01:2*pi;
b=zeros(5);
c={'one','two','three','four','five'};
for a=1:5
b(a)=plot(x,sin(a*x));
legend(b(1:a),c(1:a))
pause(1)
end
  1 commentaire
Chiara Modenese
Chiara Modenese le 21 Mar 2011
Thanks for a very helpful community. Question is answered.
Cheers. Chiara

Connectez-vous pour commenter.

Plus de réponses (2)

Matt Fig
Matt Fig le 21 Mar 2011
How are you updating the plot? In a loop?
  1 commentaire
rodolfo reyesbaez
rodolfo reyesbaez le 21 Mai 2019
I added a hold on before ending the loop

Connectez-vous pour commenter.


Chiara Modenese
Chiara Modenese le 21 Mar 2011
Yes, in a simple loop. Data come from different structures, but this is not so important. Basically, I want to avoid this:
legend(ss(1).name,ss(2).name,ss(3).name);
where ss(i) are structures. Every time I run my code, I can chose the number of structures to create, so I do not want to modify my legend as a function of this but, instead, do it automatically (so if I have 5 structures, I expect 5 corresponding labels in my legend, no need to modify the code by hand).
Thanks, Chiara

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by