matplotlib.animatioを使うとアニメーションがつくれます。自分の環境ではgifで保存しようとしたら、imagemagickがなくてエラーになりました。imagemagickのインストールとかはここに書いてありました。
Imagemagick
http://www.imagemagick.org/script/binary-releases.php#windows
Imagemagickのパスをmatplotlibに設定する必要がある。下記のようにするとmatplotlibが見ている設定ファイルの場所がわかる。
import matplotlib
print(matplotlib.matplotlib_fname())
自分はユーザディレクトリ内のAnaconda3の中の下記だった。
Anaconda3\lib\site-packages\matplotlib\mpl-data\matplotlibrc
matplotlibrcの最後の行らへんに、下記行があるので、ここにImagemagickのパスを入れる。
#animation.convert_path: 'convert' # Path to ImageMagick's convert binary.
コメントを外して、下記のように入力します。入力の際、パスを「'」で囲むと下記のようなエラーになります。
animation.convert_path: D:\ImageMagick-7.0.4-Q16\magick.exe
C:\Users\hoge\Anaconda3\lib\site-packages\matplotlib\animation.py:782: UserWarning: MovieWriter imagemagick unavailable
warnings.warn("MovieWriter %s unavailable" % writer)
Traceback (most recent call last):
File "C:/Users/hoge/hoge.py", line 15, in
サンプルコード
import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation def anim(): graphs = [] fig = plt.figure() x = np.arange(-50, 50, 0.1) y = x ** 2 for i in range(50): plt.plot(x, y) g = plt.plot(i, i ** 2, 'o') graphs.append(g) ani = animation.ArtistAnimation(fig, graphs, interval=50) plt.show() ani.save('anim.gif', writer='imagemagick') if __name__ == '__main__': anim()