[matplotlib 3D] 10. 3Dグラフの軸ラベルのoffset

matplotlib 3D

はじめに

matplotlibのmplot3dの3Dグラフでは、グラフを回転させても軸と軸ラベルのオフセットが一定に保たれることを示す。

コード

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

解説

データの生成

X, Y = np.mgrid[0:6*np.pi:0.1*np.pi, 0:6*np.pi:0.1*np.pi]

np.mgridはmeshgridと同じ。

Z = np.sqrt(np.abs(np.cos(X) + np.cos(Y)))

np.sqrt()は平方根を返してくれて、np.abs()は絶対値を返してくれる。

グラフの表示

ax.plot_surface(X + 1e6, Y + 1e6, Z + 1e6,  cmap='winter', ccount=60, rcount=60)

XとYとZに1e6を足すことで、目盛りを1000#のように表示するのではなく、1e6を近くに表示して簡略化してくれる。”1e6”は3Dグラフを動かして視点を変えてみても常に一定の位置にある。


反対にひっくり返した場合

反対にひっくり返しても1e6は正常な位置にある。

参考

Automatic Text Offsetting — Matplotlib 3.1.0 documentation
matplotlib 3D python
サボテンパイソン

コメント