はじめに
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 のグラフの回転アニメーション
参考
Text annotations in 3D — Matplotlib 3.9.2 documentation
https://matplotlib.org/stable/tutorials/advanced/transforms_tutorial.html
コメント