[matplotlib 3D] 58. 3Dプロットの面と枠線の色をカスタマイズする方法

matplotlib 3D

はじめに

この記事では、matplotlib のmplot3dモジュールを使用して作成する3Dグラフの面(pane)とその枠線の色を変更する方法について詳しく解説します。3Dプロットの視覚的な魅力を高め、データの見やすさを向上させるテクニックを紹介します。

コード

解説

モジュールのインポートなど

バージョン

データの生成

媒介変数的に球面のデータを作成します。

plot_surfaceによる球面の表示

plot_surfaceを使用すると下図のように表示されます。ax.set_box_aspect((1,1,1))でアスペクト比を1:1:1に設定しています。

面の色を変えて表示

x軸側の面の色は ax.xaxis.pane.set_facecolor() で変更できます。y軸とz軸側は xaxis の部分をそれぞれ yaxis、zaxis に置き換えます。同様に、面の枠線(エッジ)の色は ax.xaxis.pane.set_edgecolor() などで変更できます。

軸目盛を非表示にする

各軸に対して、set_major_locator(ticker.NullLocator())を設定することで目盛りを非表示にし、軸の表示をカスタマイズできます。

軸線を非表示にする

3Dプロットではspineの設定ができないため、ax.xaxis.line.set_color((1.0, 1.0, 1.0, 0.0))のように、RGBA形式で透明度を0に設定することで枠線を見えなくしています。

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

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

参考

mpl_toolkits.mplot3d.axes3d.Axes3D — Matplotlib 3.5.0 documentation

コメント