Azzera filtri
Azzera filtri

plot data dynamically in the figure

88 visualizzazioni (ultimi 30 giorni)
moulay
moulay il 23 Mar 2014
Hi all!
SUPPOSE I WANT TO PLOT THIS VECTOR:
%A=[1 1 2 5 9 8 7 6 3];
i want to plot it like a movie (dynamically). i mean the first point shold be ploted after 0.5 second the snd point , and so on ........
is there any possibility in matlab to do this?
thank you all

Risposte (2)

Daniela F. López Astorquiza
Hi,
% code
h = animatedline('Marker','o');
A = [1 1 2 5 9 8 7 6 3];
B = [20 30 50 10 85 95 5 8 9];
for k = 1:length(A)
addpoints(h,A(k),B(k))
xlim([min(A) max(A)]);
ylim([min(B) max(B)]);
drawnow limitrate
pause(0.7)
end

Joseph Cheng
Joseph Cheng il 23 Mar 2014
Modificato: Joseph Cheng il 23 Mar 2014
The example for drawnow should be easy to adapt for your purposes. You can then insert the function pause(.5) into the for loop to wait the .5 seconds before the next point.
A=[1 1 2 5 9 8 7 6 3];
B=A(1);
h = plot(B,'YDataSource','B');
for k = 1:length(A)
B=A(1:k);
refreshdata(h,'caller')
drawnow
pause(.5)
end

Categorie

Scopri di più su Animation in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by