matplotlib 动画期间出现异常

这是我第一次在这里发帖。我正在运行这段代码,它是一个 matplotlib(版本 3.2.1)动画示例,所以它应该可以正常工作。


import numpy as np

from matplotlib import pyplot as plt

from matplotlib import animation

plt.rcParams['animation.ffmpeg_path'] = '/opt/local/bin/ffmpeg'


# First set up the figure, the axis, and the plot element we want to animate

fig = plt.figure()

ax = plt.axes(xlim=(0, 2), ylim=(-2, 2))

line, = ax.plot([], [], lw=2)


# initialization function: plot the background of each frame

def init():

    line.set_data([], [])

    return line


# animation function.  This is called sequentially

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,


# call the animator.  blit=True means only re-draw the parts that have changed.

anim = animation.FuncAnimation(fig, animate, init_func=init,

                               frames=200, interval=20, blit=True)


# save the animation as an mp4.  This requires ffmpeg or mencoder to be

# installed.  The extra_args ensure that the x264 codec is used, so that

# the video can be embedded in html5.  You may need to adjust this for

# your system: for more information, see

# http://matplotlib.sourceforge.net/api/animation_api.html

anim.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264'])


plt.show()

但是,我收到此错误:


回溯(最近调用最后):文件“matplotlib_animation.py”,第 42 行,在 anim.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264']) 文件“/home /leonardo/.local/lib/python3.6/site-packages/matplotlib/animation.py”,第 1102 行,保存 alt_writer = next(writers, None) TypeError: 'MovieWriterRegistry' object is not an iterator /home/leonardo /.local/lib/python3.6/site-packages/matplotlib/backends/backend_gtk3.py:195: 警告:尝试删除源 ID 8 时未找到它 GLib.source_remove(self._idle_draw_id)


任何想法将不胜感激。


蓝山帝景
浏览 147回答 1
1回答

Helenr

这是最新版本的 matplotlib 中的一个已知错误;它将在下一个版本(#16965)中修复。来自 github issse:https ://github.com/matplotlib/matplotlib/issues/17097
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python