matplotlib和imagemagick 用于GIF动画保存

首先安装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.

解决办法

参考 ,需要添加convert.exe路径,但老版本的ImageMagick 使用的是convert.exe,而新版本使用的是magick.exe,为此在文件保存之前 需添加magick.exe的路径

plt.rcParams["animation.convert_path"] = "C:Program FilesImageMagick-7.0.9-Q16magick.exe" # magick.exe路径
anim.save(test_animation.gif,writer=imagemagick)

最后在运行目录下即可出现保存的test.gif文件。

机器学习过程可视化:

经验分享 程序员 微信小程序 职场和发展