[matplotlib 3D] 20. 極座標系の3D surfaceプロット

matplotlib 3D

はじめに

matplotlibのmplot3dで極座標系の座標系を用いて3Dsurface plotを作成する方法について説明する。

コード

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

解説

モジュールのインポート

データの生成

rが動径, pが方位角となる。R,Pはr,pのmeshgridとなっている。

により直交座標系へ変換する。

グラフの表示

cmap = plt.cm.coolwarm_rとした場合

cmapのcoolwarmに_rをつけることでカラーマップを反転させることができる。

極座標系で球を表示

同様の方法で球を極座標系のデータで表示することも可能。3次元極座標の直交座標への変換は下記のようになる。

x = r sin θ cos ϕ

y = r sin θ sin ϕ

z = r cos θ

参考

EMANの物理学・物理数学・ヤコビアン
3D surface with polar coordinates — Matplotlib 3.1.1 documentation

コメント