convert a time series into a real time animated plot
58 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Marc Elmeua
le 26 Mar 2022
Commenté : Star Strider
le 27 Mar 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 commentaires
Réponse acceptée
Star Strider
le 26 Mar 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 commentaires
Plus de réponses (2)
Voss
le 26 Mar 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 commentaires
Walter Roberson
le 26 Mar 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 commentaires
Voir également
Catégories
En savoir plus sur Animation dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!