写在前面:为了可视化机器学习过程,并且保存下来,所以想直接利用 保存动图,期间参考了好多资料,过程比较艰辛,所以想记录下来。当然,此文还参考了好多网上的其它文章,再此一并感谢那些热爱分享的 ,并且参考资料中给出链接。所有代码整理到GitHub。
先上效果!
0. 前期准备
安装 和 。具体安装直接上官网便可,遇到什么问题在网上基本可以搜到答案的,这里就不介绍了。这里要简单的使用 生成一些测试数据,如果对 不熟悉,参考 NumPy 官方快速入门教程(译),如果对 不熟悉,参考Matplotlib 基本操作。当然如果要能够保存 还需要一个工具 ImageMagick,按照官方指导安装就好,确保在命令中输入 magick
有响应。如果使用 之类的 请将环境变量配置到全局,避免在 中找不到命令。
1. 绘制基本动图
请确保已经安装了 ImageMagick 并且可用的情况下再继续,不然代码跑步起来。
这里采用两种方式绘制动图
1.1 重置重绘
重置重绘主要是每次更新原来图形的值来达到绘制动图的效果。
- 导入基本库
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation
复制代码
- 生成数据,画出原始图
fig, ax = plt.subplots()
x = np.arange(0, 2 * np.pi, 0.01)
line0 = ax.plot(x, np.cos(x))
line, = ax.plot(x, np.sin(x))
复制代码
注意,这里申明的 中 ,
不能少,好像是为了更新值时类型匹配。没深究,希望知道的可以指点一下。
- 定义初始函数和跟新函数
def init():
line.set_ydata(np.sin(x))
return line,
def animate(i):
line.set_ydata(np.sin(x + i / 10.0))
return line,
复制代码
其实就是更