2014-07-24 162 views
0

我想制作一些汽车流量的视频。为此我拥有所有汽车的所有状态信息。在特定时间绘制情况是没有问题的。动画是。我做了一些代码,看起来像下面的代码,但这不起作用:没有任何东西在移动。我不明白动画的基础知识。有人能指引我朝着正确的方向吗?使用matplotlib动画流量

import matplotlib 
matplotlib.use('Agg') 
import matplotlib.pyplot as plt 
import matplotlib.animation as manimation 
FFMpegWriter = manimation.writers['ffmpeg'] 
writer = FFMpegWriter(fps=10) 

def animate_traffic(): 
    fig=plt.figure(1) 
    ax=fig.add_subplot(1,1,1) 
    tsim=tstart 
    with writer.saving(fig, "roadtest.mp4", 100): 
     for i in range(100): 
      draw_roadlayout() 
      for car in cars: 
       # draw each of the cars on the road 
       # based on time tsim 
      plt.grid(False) 
      ax.axis(plt_area) 
      fig = plt.gcf() 
      writer.grab_frame() 
      ax.cla() 
      tsim+=timestep 
    plt.close(1) 

谢谢。

已更新:写完后,我清除该区域。完整版现在适合我。

+0

http://jakevdp.github.io/blog/2012/08/18/matplotlib-animation-tutorial/ – tacaswell

+1

http://stackoverflow.com/questions/4092927/generating-movie-from-python-without-保存个人文件到文件/ 13983801#13983801 – tacaswell

+0

http://stackoverflow.com/questions/19519587/python-matplotlib-plot-multi-lines-array-and-animation/19521738#19521738 – tacaswell

回答

0

ax.cla()是答案的很大一部分。事情可以真正改善,但它的工作。

0

如果您可以生成显示移动的图像,则可以保存它们并使用ffmpeg创建视频。

+0

比你的建议。我想到了这一点,但创造了超过10000张图片并不是我所希望的。这将是我的备份计划。 – frits