[matplotlib animation] 57. FuncAnimationとArtistAnimationの違い

matplotlib

はじめに

matplotlibでは、アニメーションを表示する関数としてFuncAnimationとArtistAnimationがある。ここでは、同じアニメーションをFuncAnimationとArtistAnimationそれぞれで表示し、FuncAnimationとArtistAnimationの違いについて検討した。

コード

コード(ArtistAnimation)

コード(FuncAnimation)

コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)

解説

モジュールのインポート

データ生成関数

関数generateはZデータ出力用の関数となる。

AritistAnimationによるアニメーション

ArtistAnimationによるアニメーションの表示ついては下記で解説した。

[matplotlib 3D] 26. ArtistAnimationで3D wireframe plotをアニメーションで表示
matplotlib mplot3dの3D wireframe plotをArtistAnimationを使って、アニメーションで表示する方法について解説する。

FuncAnimationによるアニメーション

FuncAnimationでは事前にZ_listにZのデータを生成しておき、update関数でwireframeグラフを消して表示するを繰り返すことでアニメーションとしている。

ファイルサイズの比較

ArtistAnimationで保存したmp4ファイルのサイズは465 KB、
FuncAnimationで保存したmp4ファイルのサイズは359 KBとなり、FuncAnimationのほうがArtistAnimationよりも軽量なファイルとなった。

コードの所要時間の比較

ArtistAnimationの所要時間計測

FuncAnimationの所要時間計測

ArtistAnimationの1min 26sに対して、FuncAnimationは17.6 sとなり、FuncAnimationのほうが所要時間が短かった。

参考

matplotlib.animation.ArtistAnimation — Matplotlib 3.9.2 documentation
matplotlib.animation.FuncAnimation — Matplotlib 3.9.2 documentation

コメント