はじめに
matplotlib, mplot3dの3Dグラフ上をマーカーが移動するアニメーションでその軌跡としてマーカーの残像を表示する方法について解説する。
コード
解説
モジュールのインポート
バージョン
データの生成
データは下記記事と同じで、グルグルと回転するデータを用いる。上から下に表示させるために[::-1]でデータを逆順に変換している。
[matplotlib 3D] 7.3D線グラフ(媒介変数曲線)
matplotlibのmplot3dで3D線グラフを表示する方法について説明する。
figの作成と空データのプロット
3Dグラフを作成して空のデータの3Dプロットを5つプロットしておく。このプロットにデータを流し込みアニメーション表示させる。
各軸の表示範囲を調整して、プロットが見えるようにしておく。
アニメーションの初期設定
returnでアニメーション表示するplotを返しておく。
アニメーションの設定
先頭のプロットから最後のプロットにかけて透明度を変化させて、流れるようなアニメーションを作成する。x,yの位置の設定はset_dataで行い、zの位置の設定はset_3d_propertiesで行う。透明度の設定はset_alphaにより行う。こちらもreturnでアニメーションする変数を返す。
アニメーションの表示
FuncAnimation でアニメーションを表示する。
96はupdate(i)のアニメーション関数を0 〜95まで実行する意味となる。intervalはupdate関数の実行間隔であるため、100 msごとにプロットが変化していくアニメーションが得られる。HTML(ani.to_html5_video())とすればjupyter notebook上にアニメーションを表示できる。
参考
Parametric curve — Matplotlib 3.9.3 documentation
matplotlib.axes.Axes.set_alpha — Matplotlib 3.2.2 documentation
mpl_toolkits.mplot3d.art3d.Line3D — Matplotlib 3.9.3 documentation
コメント