Plotting two graphs simultaneously in a for loop
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hey guys,
I have a set of data and would want to plot the data points like an animation using a for-loop. This is my code:
figure(1)
for k = 1:5000
%plotX is a 1x5000 dimension vector with elements 1,2,3,...,N
%hmid2 and hamid2 are 1x5000 dimension vector
hplot = plot(plotX(k),hmid2(k),'.b',plotX(k),hamid2(k),'-r');
hold on
xlim([0 N_iter*Lx]);
drawnow
k
end
I am hoping to get a graph like this, but in animation:

Instead, what I got from my animation is:

The lines connecting them disappeared, and the 2nd graph, denoted by hamid2 does not appear in the animated graph.
I'm a newbie so I wonder if there's something I missed out or mistaken?
Cheers
4 comentarios
APU CHAKRABORTY
el 7 de Jun. de 2022
how to plot three graphs using subplots ,animitedline and adpoint?
Respuestas (1)
Mathieu NOE
el 7 de Jun. de 2022
hello
using your x and y data , see answer (example) below :
%% create animatedline object / handle
figure
h1 = animatedline;
h1.Marker = '*';
h1.Color = [1 0.4 0];
h2 = animatedline;
h2.Marker = '+';
h2.Color = [0 1 0];
axis([0 5 -1.2 1.2]);
%% dummy data
x = linspace(0,2*pi,100);
y1 = sin(x);
y2 = cos(x);
for ci=1:length(x)
addpoints(h1,x(ci),y1(ci));
addpoints(h2,x(ci),y2(ci));
pause(0.1);
drawnow
end
3 comentarios
Mathieu NOE
el 21 de Sept. de 2022
Nikolaos Gkiouzelis
el 21 de Sept. de 2022
Editada: Nikolaos Gkiouzelis
el 21 de Sept. de 2022
Thanks a lot.
Could you recommend anything regarding legends, titles and lables as well under the same structure?
Update: solved!
You need to firstly state labels, legends and then start the loop.
xlabel(sub1,'Time [d]');
ylabel(sub1,'Distance [Km]');
legend(sub1,'Velocity');
where sub1, sub2 etc stand for the different subplot/figures.
Ver también
Categorías
Más información sobre Animation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!