首先安装imagemagick http://www.imagemagick.org/script/download.php
安装系统,选择相应的文件下载安装即可,具体可参考 Windows系统安装及初步使用ImageMagick
代码测试
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig, ax = plt.subplots()
xdata, ydata = [], []
ln, = plt.plot([], [], 'ro',animated=True)
def init():
ax.set_xlim(-np.pi,np.pi)
ax.set_ylim(-1, 1)
return ln,
def update(frame):
xdata.append(frame)
ydata.append(np.sin(frame))
ln.set_data(xdata, ydata)
return ln,
anim = animation.FuncAnimation(fig, update, frames=np.linspace(-np.pi,np.pi, 90),interval=10,
init_func=init,blit=True)
anim.save('test_animation.gif',writer='imagemagick')
plt.show()
报错如下:
OSError: Error saving animation to file (cause: [Errno 22] Invalid argument) Stdout: b'' StdError: b''. It may help to re-run with --verbose-debug.
解决办法
参考 Exporting animated gif using matplotlib ,需要添加convert.exe路径,但老版本的ImageMagick 使用的是convert.exe,而新版本使用的是magick.exe,为此在文件保存之前 需添加magick.exe的路径
plt.rcParams["animation.convert_path"] = "C:\Program Files\ImageMagick-7.0.9-Q16\magick.exe" # magick.exe路径
anim.save('test_animation.gif',writer='imagemagick')
最后在运行目录下即可出现保存的test.gif文件。
机器学习过程可视化:一步一教你用Matplotlib 保存GIF图片