[matplotlib animation] 55. 3Dグラフ上での点と線のアニメーション

matplotlib Animation

はじめに

Matplotlibを使用して3Dグラフ上で点と線のアニメーションを作成する方法について解説しています。mplot3dモジュールを活用し、3次元空間での動きを表現する技術を紹介しています。具体的には、点の移動や線の変化を時間経過とともに視覚化する手法や、適切なコード例が含まれています。

コード

解説

モジュールのインポート

データの生成

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を設定することで、アニメーションは繰り返し再生されます。Jupyter Notebook上でアニメーションを適切に表示するには、HTML(ani.to_html5_video())を実行します。

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

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

まとめ

Matplotlibのアニメーション機能と3D描画機能を組み合わせることで、データの時間的変化を立体的に表現できます。科学的シミュレーションや動的データの可視化において非常に有用なテクニックです。

参考

[matplotlib animation] 2.3D lineplot アニメーション
3Dグラフでのラインプロットのアニメーションを作成する方法について説明する。
[matplotlib 3D] 33. マーカーによるアニメーション
matplotlibのmplot3dとFuncAnimationを使用して3D空間内のマーカーアニメーションを作成する方法を解説。様々な形状のマーカーが動く3Dアニメーションの実装手順とサンプルコードを紹介します。
Draw 3D line animation using Python Matplotlib.FuncAnimation
draw 3D line animation using python matplotlib.funcanimation

コメント