我有一个python动画脚本(使用matplotlib的funcAnimation),它可以在Spyder中运行,但不能在Jupyter中运行。我尝试了各种建议,如添加“%matplotlib inline”和将matplotlib后端更改为“Qt4agg”,都没有成功。我还尝试运行了几个示例动画(来自Jupyter教程),这些都没有起作用。有时我会收到错误信息,有时情节会出现,但没有动画。顺便说一句,我已经让pyplot.plot()使用“%matplotlib inline”来工作了。
有没有人知道一个工作的Jupyter笔记本与一个简单的内联动画的例子,使用funcAnimation。
[Note:我使用的是Windows 7]
6条答案
按热度按时间8mmmxcuj1#
笔记本后端
“内联”表示图显示为png图形。这些png图像不能动画化。虽然原则上可以通过连续替换png图像来创建动画,但这可能是不希望的。
一个解决方案是使用笔记本后端,它与
FuncAnimation
完全兼容,因为它可以呈现matplotlib图形本身:js动画
从matplotlib 2.1开始,我们可以使用JavaScript创建动画,这类似于
ani.to_html5()
解决方案,只是它不需要任何视频编解码器。一些完整的例子:
或者,将jsanimation设为显示动画的默认值,
然后在最后简单地声明
ani
以获得动画。另请参见this answer以获得完整概述。
xwbd5t1u2#
本教程中有一个简单的示例:http://louistiao.me/posts/notebooks/embedding-matplotlib-animations-in-jupyter-notebooks/
总结一下上面的教程,你基本上需要这样的东西:
然而
我遇到了很多麻烦。本质上,问题是上面的使用(默认)
ffmpeg
和x264
编解码器在后台,但这些没有在我的机器上正确配置。解决方案是卸载它们,并重建他们从源代码与正确的配置。有关更多细节,请参阅我问的问题与Andrew Heusser的工作答案:ipython(jupyter)笔记本中的动画-值错误:关闭文件上的I/O操作所以,首先尝试上面的
to_html5_video
解决方案,如果它不起作用,那么也可以尝试卸载/重建ffmpeg
和x264
。vltsax253#
另一种选择:
e5nqia274#
以下是我从多个来源收集到的答案,包括官方示例。我用最新版本的Jupyter和Python进行了测试。
imageList
是你唯一需要修改的东西。它是一个图像列表(你的输入)。dgtucam15#
如果您有一个图像列表,并希望通过它们设置动画,则可以使用类似下面的命令:
tuwxkamq6#
感谢Kolibril。我终于可以在Jupyter和Google Colab上运行动画了。我修改了一些代码,将生成绘制随机线的动画。
enter image description here