我正在尝试用Python执行模拟的结果动画。为此,我使用matplotlib来生成动画的帧,然后使用来自赛璐珞库的Camera类收集它们。生成动画的代码如下:
fig = plt.figure()
ax = plt.gca()
ax.set_aspect('equal')
camera = Camera(fig)
for i in range(result.t.size):
if i % 10 == 0:
x = result.y[0, i]
y = result.y[1, i]
plt.scatter(x, y, s = 100, c = 'red')
plt.xlim(-3, 3)
plt.ylim(-3, 3)
plt.grid()
camera.snap()
animation = camera.animate(blit = False, interval = 10)
HTML(animation.to_html5_video())
生成HTML5视频的最后一部分允许在Web上的Jupyter笔记本中观看动画。但是,我得到以下输出:
第一个输出是相应的动画,运行良好。第二个只是一个静态的空情节。所以我有两个问题:
1.第二个情节是从哪里来的,我如何删除它?
1.动画没有显示任何网格,尽管我在每一帧上通过plt.grid()
请求它。为什么会这样?
提前感谢任何帮助。
1条答案
按热度按时间7kqas0il1#
在显示动画之前,调用plt.close()以避免显示未使用的图形。