How to make an animated stairstep graph?
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a stairstep graph (squarewave) plotted from an array, is it possible to make the graph plot in motion?
%%my code: x=[0:1:10]; a=[0 1 0 1 0 1 0 0 1 1 0]; stairs(x,a)
0 commentaires
Réponse acceptée
jonas
le 14 Juin 2018
Modifié(e) : jonas
le 14 Juin 2018
You can use the comet() function if you manipulate the data a bit.
x=[0:1:10];
a=[0 1 0 1 0 1 0 0 1 1 0];
xq=0:0.01:10;
aq = interp1(x,a,xq,'previous');
comet(xq,aq)
There is also a similar function called animatedline() which I have never tested. Or as a third, perhaps simplest solution, plot point-by-point in a for-loop using pause(t) in every loop.
3 commentaires
jonas
le 15 Juin 2018
It does not appear to be possible. Option two works fine though:
x=[0:1:10];
a=[0 1 0 1 0 1 0 0 1 1 0];
%Increase resolution (step size determines speed of animation)
xq=0:0.0001:10;
aq = interp1(x,a,xq,'previous');
figure;
h=animatedline
%Change properties
set(h,'color','r','linewidth',2)
axis([0 10 0 1])
for k = 1:length(aq)
addpoints(h,xq(k),aq(k))
drawnow update
end
Plus de réponses (0)
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!