使用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)
谢谢。
更新:在写完之后,我清理了区域。现在完整版本对我来说可以用了。
2 个回答
0
如果你能生成显示运动的图片,那你可以把这些图片保存下来,然后用ffmpeg来制作视频。
0
ax.cla() 是答案中的一个重要部分。虽然还有很多可以改进的地方,但它确实有效。