はじめに
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.3 documentation
matplotlib.animation.FuncAnimation — Matplotlib 3.9.3 documentation
コメント