Python 停止Matplotlib Jupyter笔记本显示带动画的绘图
问题一,我认为在jupyter笔记本中显示JavaScript动画也会显示情节: 示例代码:Python 停止Matplotlib Jupyter笔记本显示带动画的绘图,python,animation,matplotlib,jupyter-notebook,Python,Animation,Matplotlib,Jupyter Notebook,问题一,我认为在jupyter笔记本中显示JavaScript动画也会显示情节: 示例代码: fig = plt.figure() ax = plt.axes(xlim=(0, 2), ylim=(-2, 2)) line, = ax.plot([], [], lw=2) def init(): line.set_data([], []) return line, def animate(i): x = np.linspace(0, 2, 1000) y =
fig = plt.figure()
ax = plt.axes(xlim=(0, 2), ylim=(-2, 2))
line, = ax.plot([], [], lw=2)
def init():
line.set_data([], [])
return line,
def animate(i):
x = np.linspace(0, 2, 1000)
y = np.sin(2 * np.pi * (x - 0.01 * i))
line.set_data(x, y)
return line,
anim = animation.FuncAnimation(fig, animate, init_func=init,
frames=200, interval=20, blit=True)
HTML(anim.to_jshtml())
这是输出:
请注意,这将导致两个绘图,而不仅仅是动画
另一方面,我尝试使用以下工具运行它:
HTML(anim.to_html5_video())
但这给了我一个错误:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
~\AppData\Local\Continuum\miniconda3\lib\site-packages\matplotlib\animation.py in __getitem__(self, name)
169 try:
--> 170 return self.avail[name]
171 except KeyError:
KeyError: 'ffmpeg'
During handling of the above exception, another exception occurred:
RuntimeError Traceback (most recent call last)
<ipython-input-30-b5253c68f7fe> in <module>()
20 frames=200, interval=20, blit=True)
21
---> 22 HTML(anim.to_html5_video())
~\AppData\Local\Continuum\miniconda3\lib\site-packages\matplotlib\animation.py in to_html5_video(self, embed_limit)
1347 # We create a writer manually so that we can get the
1348 # appropriate size for the tag
-> 1349 Writer = writers[rcParams['animation.writer']]
1350 writer = Writer(codec='h264',
1351 bitrate=rcParams['animation.bitrate'],
~\AppData\Local\Continuum\miniconda3\lib\site-packages\matplotlib\animation.py in __getitem__(self, name)
171 except KeyError:
172 raise RuntimeError(
--> 173 'Requested MovieWriter ({}) not available'.format(name))
174
175
RuntimeError: Requested MovieWriter (ffmpeg) not available
---------------------------------------------------------------------------
KeyError回溯(最近一次呼叫最后一次)
\uuu getitem\uuu中的~\AppData\Local\Continuum\miniconda3\lib\site packages\matplotlib\animation.py(self,name)
169尝试:
-->170返回self.avail[名称]
171除按键错误外:
KeyError:'ffmpeg'
在处理上述异常期间,发生了另一个异常:
运行时错误回溯(上次最近调用)
在()
20帧=200,间隔=20,blit=真)
21
--->22 HTML(动画到html5视频()
~\AppData\Local\Continuum\miniconda3\lib\site packages\matplotlib\animation.py到\u html5\u视频(自嵌入\u限制)
1347#我们手动创建一个writer,以便获得
1348#标签尺寸合适
->1349 Writer=writers[rcParams['animation.Writer']]
1350 writer=writer(编解码器=h264',
1351比特率=rcParams['animation.bitrate'],
\uuu getitem\uuu中的~\AppData\Local\Continuum\miniconda3\lib\site packages\matplotlib\animation.py(self,name)
171除按键错误外:
172引发运行时错误(
-->173“请求的电影编写器({})不可用”。格式(名称))
174
175
运行时错误:请求的MovieWriter(ffmpeg)不可用
安装ffmpeg没有帮助。这是两个不同的问题,对吗?您可以选择捕获单元格的输出并在新单元格中显示输出
至于缺少的ffmpeg,您需要确保在您的系统上确实找到了
ffmpeg
。我相信,因为笔记本是交互式的,所以您可以在不调用plt.show
的情况下自动获得绘图。您可以调用plt.close
手动关闭它(或更改交互模式,但您可能希望在其他情况下保留该模式)
我只需要确保正确安装了ffmpeg,就可以让HTML(anim.to_html5_video())正常工作。看起来Python就是找不到它
fig = plt.figure()
ax = plt.axes(xlim=(0, 2), ylim=(-2, 2))
line, = ax.plot([], [], lw=2)
plt.close(fig)
...