はじめに
matplotlib, mplot3dの3Dグラフ上での点と線によるアニメーションについて解説する。
コード
解説
モジュールのインポート
データの生成
np.random.randint(-10,10,(3,100))により-10から10の範囲の整数で(3,100) の形状の配列(np.array)を生成する。
データのプロット
各データの最初のデータを点で示す。(point1,point2,point3)
各データの各点をそれぞれ結ぶ線を表示する。(line_1_2, line_2_3, line_3_1)
アニメーションの初期設定
軸範囲と軸ラベルの設定をする。returnでアニメートする変数を返さなければならない。
アニメーションの設定
set_dataとset_3d_propertiesによって各プロットのデータを更新していく。こちらもreturnでアニメーション変数を返さなければならない。
アニメーションの表示
FuncAnimation でアニメーションを表示する。repeat=Trueとすることでアニメーションは繰り返して再生される。HTML(ani.to_html5_video())とすればjupyter notebook上にアニメーションをうまく表示できる。
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)参考
[matplotlib animation] 2.3D lineplot アニメーション
3Dグラフでのラインプロットのアニメーションを作成する方法について説明する。
[matplotlib 3D] 33. マーカーによるアニメーション
matplotlibのmplot3dとFuncAnimationでマーカーによるアニメーションを作成する。
Draw 3D line animation using Python Matplotlib.FuncAnimation
draw 3D line animation using python matplotlib.funcanimation
コメント