Matplotlibを用いたアニメーションの作成

Matplotlibを用いたアニメーションの作成について記載する。

アニメーションの作成

アニメーションを作成するには、例えば以下のようなコードを書く。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation

a=np.random.rand(12*5*5).reshape(12,5,5)

fig0=plt.figure(figsize=(3,3),dpi=150)
ax0=fig0.add_subplot(111)

def init():
    pass
    
def update(frame):
    plt.title("{0}".format(frame))
    im0=ax0.imshow(a[frame,:,:])

ani=FuncAnimation(fig0,update,frames=range(12),\
                  init_func=init(),interval=100)
ani.save("test.mp4",writer="ffmpeg")

JupyterLabでのコントロールの表示

以下のコードを使うとJupyterLabの中にコントロールツールを表示して、再生速度等をコントロールできる。

from IPython.display import HTML
HTML(ani.to_jshtml())

インタラクティブな動画生成をOFFにする

上記のようにコントロールを表示する場合、aniオブジェクトを作成する際はJupyterLabに動画を表示しない方が都合が良い。その場合、下記のコマンドを実行する。

plt.ioff()
# plt.ion() <-再度インタラクティブをonにする場合

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA