[matplotlib 3D] 21. 3Dグラフにテキストを表示

matplotlib 3D

はじめに

mplot3dで作成した3Dグラフ上にテキストを表示する方法について解説する。

コード

解説

モジュールのインポート

テキストデータの生成と表示

(zdirs, xs, ys, zs)の組み合わせは6個あるので、6個プロットされる。
%dとすることで()のx,y,z,zdirがそれぞれ当てはめられるので、最初のラベルは、

(1, 2, 10), dir=None

となる。そして、この場合、テキストは(x, y, z)=(1, 2, 10)の位置にプロットされる。

zdirはテキストの向きを設定できる。’x’の場合、x軸に平行、’y’の場合、y軸に平行、’z’の場合、z軸に平行となる。

(1,1,0)や(1,1,1)の場合、(0,0,0)からその座標に沿ってテキストが表示される。

テキストの色を変える

ax.text()のcolorで色の設定ができる。

text2Dによるテキストの表示

transform=ax.transAxes でfig全体の大きさを1としたときの相対的な位置にプロットされる。原点は左下なので、(0.1,0.9)の場合、左上にプロットされる。[1]

回転アニメーション

作製した図を回転させると以下のようになる。

回転アニメーションは以下の記事を参考にして作成した。

[matplotlib 3D] 14. 3Dグラフの回転アニメーション
matplotlib mplot3d のグラフの回転アニメーション
コードをダウンロード(.pyファイル)

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

参考

Text annotations in 3D — Matplotlib 3.9.2 documentation
https://matplotlib.org/stable/tutorials/advanced/transforms_tutorial.html

コメント