はじめに
matplotlib mplot3dの3D wireframe plotをArtistAnimationを使って、アニメーションで表示する方法について解説する。
コード(matplotlib example)
このコードをjupyter notebookで実行した結果、
%matplotlib nbagg Warning: Cannot change to a different GUI toolkit: nbagg. Using notebook instead.
とのことでアニメーションが表示されなかった。
%matplotlib notebook
としてもアニメーションが表示されず、下の画像が表示された。

そこで、ArtistAnimationを使って書き改めた。[1]
コード(ArtistAnimation)
解説
モジュールのインポート
データ生成とデータ生成関数
関数generateはZデータ出力用の関数となる。
アニメーション用グラフの作成
imsで空のリストを作成する。
phiの0個目から100個目まで順次 Zのdataを作成して、wireframeでプロット(im)を作成し、
imsにimをappendで追加していく。
ここで[im]と[]で囲むのがポイントとなる。[2]
最終的にimsはグラフのリストとなる。
アニメーションの表示
ArtistAnimationでアニメーションを作成する。
figはアニメーションを表示するfigであり、imsはグラフのリストであり、interval では図の表示時間[ms]を設定する[3]
アニメーションをIPythonの HTML displayで表示する。to_html5_videoでアニメーションをHTML5 に変換できる [4]。
下の図のように表示されるので、・・・と縦に並んでいるところをクリックすれば簡単にダウンロードできる。

コメント