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

matplotlib 3D

はじめに

matplotlibのmplot3dで表示する3Dグラフ上でのテキストのアニメーションについて解説する。

コード

解説

モジュールのインポート

3Dグラフの作成

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

データのプロット

データは媒介変数で表示し、3D線グラフで表示した。このプロットの詳細は下記で解説した。

[matplotlib 3D] 7.3D線グラフ(媒介変数曲線)
3次元空間に線グラフを表示。

このプロットしたデータにそってテキストを表示する。

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

最初に、textsという空のリストを作成する。これにテキストのプロットを入れることになる。

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

[matplotlib 3D] 21. 3Dグラフにテキストを表示
matplotlib mplot3d における3Dグラフ上でのテキストに挿入。

生成したtext_をtextsのリストにappendすることで.pop().remove()で消せるようにしている。

アニメーションの表示

100stepアニメーション関数を実行して、100 ms間隔で順次図をかえていくので、10 secのアニメーションとなる。
HTML(ani.to_html5_video())とすればjupyter notebook上にアニメーションを表示できる。

参考

[matplotlib 3D] 7.3D線グラフ(媒介変数曲線)
3次元空間に線グラフを表示。
[matplotlib 3D] 21. 3Dグラフにテキストを表示
matplotlib mplot3d における3Dグラフ上でのテキストに挿入。
[matplotlib animation] 15. 内サイクロイド(hypocycloid)
matplotlib FuncAnimationによる内サイクロイドのアニメーション

コメント