How can i draw two animated plots on each subplots at the same time?
39 views (last 30 days)
Show older comments
Hi everyone! Now, i want to draw two animated plots on each subplots at the same time. You can see my code below. But, when i use this code, of course, Matlab will return two subplots and it will draw "k" line after drew "r" line. So, how can i do to draw two animated plots (in this case is two lines) at the same time? Thank you so much. My code:
x1=linspace(0,20,201);
y1=sin(x1);
x2=linspace(0,20,201);
y2=cos(x2);
sub1=subplot(2,1,1);
hold on
axis([0 21 -1.1 1.1]);
ani1=animatedline('Color','r');
for i=1:length(x1)
addpoints(ani1,x1(i),y1(i));
drawnow
pause(0.01);
end
subplot(2,1,2)
hold on
axis([0 21 -1.1 1.1]);
ani2=animatedline('Color','k');
for j=1:length(x1)
addpoints(ani2,x1(j),y1(j))
drawnow
pause(0.01);
end
0 Comments
Accepted Answer
Jos (10584)
on 15 Dec 2017
Merge the for-loops! This works here because x1,y1, x2, and y2 are all the same length. There is also no need for hold on)
x1=linspace(0,20,201);
y1=sin(x1);
x2=linspace(0,20,201);
y2=cos(x2);
sub1=subplot(2,1,1);
axis([0 21 -1.1 1.1]);
ani1=animatedline('Color','r');
subplot(2,1,2)
axis([0 21 -1.1 1.1]);
ani2=animatedline('Color','k');
for k=1:length(x1)
addpoints(ani1,x1(k),y1(k)) ;
addpoints(ani2,x2(k),y2(k)) ;% I assume you meant to plot (x2,y2)
drawnow
pause(0.01);
end
3 Comments
Jos (10584)
on 15 Dec 2017
I assume there is a relationship between x1 and x2? For instance, both are time points. You can use interp1 to get, for instance, y2 values for each point in x1, like this:
x1 = linspace(0,20,200)
y1 = sin(x1) ;
x2 = linspace(0,20,100)
y2 = cos(x2) ;
y2_int = interp1(x2,y2,x1) ;
and now use x1 as the x coordinate for both animations.
More Answers (1)
Riccardo Rosati
on 4 Jun 2018
If I create the number of subplot iteratively (because this is for a GUI where I manually insert the number of signals that I want to plot), how can I do this? I should generate iteratively also the animated lines, but how?
Thanks in advance for the reply.
0 Comments
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!