How to make an animated stairstep graph?
    4 次查看(过去 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)
0 个评论
采纳的回答
  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
      
 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 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!