convert a time series into a real time animated plot
58 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Marc Elmeua
el 26 de Mzo. de 2022
Comentada: Star Strider
el 27 de Mzo. de 2022
I am trying, with no success to display a plot of the attached timeseries in a way that it shows like if it was a real-time plotting.
Any help?
Thanks in advance
0 comentarios
Respuesta aceptada
Star Strider
el 26 de Mzo. de 2022
Try something like this —
LD = load('timeseries.mat');
time2 = LD.time2;
Time = time2.Time;
Data = time2.Data;
DataRange = [min(Data), max(Data)];
TimeRange = [min(Time), max(Time)];
figure
hold on
for k = 1:numel(Time)-1
plot(Time(k:k+1), Data(k:k+1), '-b')
axis([TimeRange DataRange])
grid
pause(0.0001)
end
hold off
Make appropriate changes to get the desired result.
.
2 comentarios
Más respuestas (2)
Voss
el 26 de Mzo. de 2022
Here's one way:
load('timeseries.mat')
figure();
my_line = line();
for ii = 1:numel(time2.Time)
set(my_line,'XData',time2.Time(1:ii),'YData',time2.Data(1:ii));
drawnow();
end
0 comentarios
Walter Roberson
el 26 de Mzo. de 2022
Times = time2.Time;
Data = time2.Data;
N = 10; %at a time -- one at a time is very slow
nsamp = length(Times);
h = animatedline();
for K = 1 : N : nsamp
idx = K : min(K+N-1, nsamp);
addpoints(h, Times(idx), Data(idx));
drawnow();
end
0 comentarios
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!