Two line simple animation
    9 views (last 30 days)
  
       Show older comments
    
Hello,
I have the following two lines plot. I want to animate both plots at the same time. I want to start from time 0 to time 9. I have tried the following code. For some reason

I don't understand it only plots the first plot only. How can also I save the animation to power point?
Thanks
GH
 clear all
  clc
  h=animatedline;
  axis([0,10,0,10]);
time=[0 1 2 3 4 5 6 7 8 9];
y1=[0 3 5 7 9 3 4 5 5 5];
y2=[0 1 3 4 5 1 3 4 4 4];
for k=1:length(time)
    addpoints(h,time(k),y1(k));
    drawnow
    hold on
    addpoints(h,time(k),y2(k));
    drawnow
    hold on
end
0 Comments
Answers (2)
  Chad Greene
      
      
 on 26 Jul 2017
        It seems you want two animated line objects.
h1=animatedline;
h2=animatedline;
axis([0,10,0,10]);
time=[0 1 2 3 4 5 6 7 8 9];
y1=[0 3 5 7 9 3 4 5 5 5];
y2=[0 1 3 4 5 1 3 4 4 4];
for k=1:length(time)
    addpoints(h1,time(k),y1(k));
    drawnow
    hold on
    addpoints(h2,time(k),y2(k));
    drawnow
    hold on
end
As for making the animation for powerpoint, you'll have to decide what video format to use. For a gif you can use my gif function.
0 Comments
  Star Strider
      
      
 on 26 Jul 2017
        You need to define animatedline for each line.
See if this does what you want:
h1=animatedline;
h2=animatedline;
axis([0,10,0,10]);
time=[0 1 2 3 4 5 6 7 8 9];
y1=[0 3 5 7 9 3 4 5 5 5];
y2=[0 1 3 4 5 1 3 4 4 4];
for k=1:length(time)
    addpoints(h1,time(k),y1(k));
    hold on
    addpoints(h2,time(k),y2(k));
    drawnow
end
hold off
2 Comments
  Star Strider
      
      
 on 28 Jul 2017
				My pleasure.
You need to specify the color (and other options, if desired) in the animatedline call:
h1=animatedline('Color','r');
That will create a red line for ‘h1’.
See Also
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!