[matplotlib 3D] 16. 複数の3Dグラフを横並びで表示

matplotlib 3D

はじめに

matplotlibの3Dグラフをfig.add_subplot()またはplt.subplots()を使って複数表示する方法について説明する。

コード&解説

モジュールのインポート

バージョン

データの生成

np.meshgrid(x, y)で2次元データを作成し、X, Yに対応するデータZを作成する。

add_subplotによる方法

figsize=plt.figaspect(0.5)はfigsize=(8,4)と同じなので横長のグラフとなる。

一つ目のグラフ

fig.add_subplot(1, 2, 1, projection=’3d’)で左側に図を作る。
plot_surfaceで3Dsurfaceグラフを作成する。rcount、ccountは表示するデータ数のことで、小さくすると粗い感じとなる。antialiased=Falseでアンチエイリアス処理なしでグラフを表示する。

2つ目のグラフ

fig.add_subplot(1, 2, 2, projection=’3d’)で右側に図を作る。
plot_wireframeで3Dワイヤーフレームグラフを作成する。rcount, ccountは各軸方向の線の数となる。

subplotsを使う方法

plt.subplots()でsubplot_kw=dict(projection=’3d’)とすることで3Dグラフとなる。add_subplotによる方法と同じ図が作成できる。

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

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

参考

3D plots as subplots — Matplotlib 3.5.1 documentation
mpl_toolkits.mplot3d.axes3d.Axes3D — Matplotlib 3.5.1 documentation
mpl_toolkits.mplot3d.axes3d.Axes3D — Matplotlib 3.5.1 documentation

コメント