plot data dynamically in the figure

312 views (last 30 days)
moulay
moulay on 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

Answers (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 on 23 Mar 2014
Edited: Joseph Cheng on 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

Categories

Find more on Animation 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!