首页 > 解决方案 > Matplotlib 和赛璐珞在 Jupyter 笔记本上表现出奇怪的行为

问题描述

我正在尝试对使用 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. 第二个情节来自哪里,我该如何删除它?
  2. 动画没有显示任何网格,尽管我plt.grid()在每一帧上都要求它。为什么会这样?

提前感谢您的帮助。

标签: pythonmatplotlibjupyter-notebook

解决方案


推荐阅读