How to make an animated stairstep graph?

5 次查看(过去 30 天)
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)

采纳的回答

jonas
jonas 2018-6-14
编辑:jonas 2018-6-14
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 个评论
jonas
jonas 2018-6-15
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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Animation 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by