[matplotlib 3D] 33. マーカーによるアニメーション

matplotlib Animation

はじめに

matplotlibのmplot3dとFuncAnimationでマーカーによるアニメーションを作成する。

コード

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

解説

モジュールのインポート

3D figureの作成

表示範囲の設定

xlim, ylim, zlimで表示範囲の設定をする。

データの生成

球のデータを生成する。3Dグラフにおける球は下記で説明した。

[matplotlib 3D] 18. 3D surfaceプロットで球を表示
matplotlibのmplot3dをつかって、3Dグラフ上にsurface plotで球を表示する方法について解説する。

アニメーションの設定

scat1とscat2をplotデータとして、set_dataとset_3d_propertiesでデータを追加し、順次表示させることでアニメーションとなる。
return scat1, scat2,のようにプロットを返すことが必要となる。

アニメーションの表示

figでanimateを実行する。frames=100はanimateのiが100までという意味であり、interval=100は100msで次のプロットに変化していくので、100 ms*100で10 sの動画となる。

アニメーション中に3Dグラフの表示範囲を変化させる場合

animate中で、ax.set(xlim=(x[:1+i,:].min(),x[:1+i,:].max()),ylim=(y[:1+i,:].min(),y[:1+i,:].max()))とすれば、x,y軸を更新されるアニメーションとなる。

参考

3次元散布図のアニメーションプロット|teratail
前提・実現したいことPythonで三次元散布図でのアニメーションを実装中に以下のエラーメッセージが発生しました。 発生している問題・エラーメッセージTraceback (most recent call last): File "C:

コメント