[matplotlib animation] 48. 3Dグラフ上でのテキストのアニメーション

matplotlib 3D

はじめに

matplotlib は Python の強力なデータ可視化ライブラリですが、3D グラフ上でテキストをアニメーション化する機能も備えています。この記事では、その実装方法と応用例を詳しく解説します。

コード

解説

モジュールのインポート

3Dグラフの作成

3Dグラフとするために、ax を fig.gca(projection=’3d’)とします。

データのプロット

データを媒介変数を使って3D線グラフで表示しました。このプロットの詳細については下記で解説しています。

[matplotlib 3D] 7.3D線グラフ(媒介変数曲線)
Matplotlibを使用して3次元空間に媒介変数曲線をプロットする方法を解説。Axes3Dオブジェクトのplot関数を用いて、パラメータtで表現される3D線グラフの描画方法と、らせん状の曲線や複雑な軌道を表現するテクニックを紹介します。

プロットしたデータに沿ってテキストを表示する方法を説明します。

テキストのアニメーション

最初に、textsという空のリストを作成します。このリストにテキストのプロットを格納します。

古いテキストを消す操作はtexts.pop().remove()で行います。テキストの表示は、text_, = [ax.text(x[num], y[num], z[num], “sabopy.com“, color=’red’)]のように実装します。詳細は以下で解説します。

[matplotlib 3D] 21. 3Dグラフにテキストを表示する方法
Matplotlibのmplot3dモジュールを使用して3Dグラフにテキストを追加する方法を解説。グラフ上の特定座標にラベルやアノテーションを配置する手法から、フォントサイズや色の調整まで、3D空間でのテキスト表示テクニックを紹介します。

生成したtext_をtextsリストにappendすることで、後で.pop().remove()メソッドを使って簡単に削除できるようにしています。

アニメーションの表示

アニメーション関数を100ステップ実行し、100ミリ秒間隔で図を更新するため、合計10秒のアニメーションが生成されます。Jupyter Notebook上では、HTML(ani.to_html5_video())を実行することでアニメーションを直接表示できます。

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

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

参考

[matplotlib 3D] 7.3D線グラフ(媒介変数曲線)
Matplotlibを使用して3次元空間に媒介変数曲線をプロットする方法を解説。Axes3Dオブジェクトのplot関数を用いて、パラメータtで表現される3D線グラフの描画方法と、らせん状の曲線や複雑な軌道を表現するテクニックを紹介します。
[matplotlib 3D] 21. 3Dグラフにテキストを表示する方法
Matplotlibのmplot3dモジュールを使用して3Dグラフにテキストを追加する方法を解説。グラフ上の特定座標にラベルやアノテーションを配置する手法から、フォントサイズや色の調整まで、3D空間でのテキスト表示テクニックを紹介します。
[matplotlib animation] 15. 内サイクロイド(hypocycloid)
matplotlib FuncAnimationによる内サイクロイドのアニメーション

コメント