MatplotlibでMATLABのsurf(x, y, z, c)と同じ効果を実現する方法
MATLABの surf(x, y, z, c) と同じような3DサーフェスプロットをMatplotlibで描画する方法を、具体例を通して解説します。手順は以下の通りです。
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- 新しい図を作成するか、既存の図をアクティブにします。
- サブプロット配置の一部として、図に 'ax'(3D軸)を追加します。
- Numpyを使用して r、u、v、x、y、z のデータポイントを作成します。
- サーフェスプロットを作成します。
- 図を表示するには、show() メソッドを使用します。
コード例
import matplotlib.pyplot as plt import numpy as np plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True fig = plt.figure() ax = fig.add_subplot(projection='3d') r = 0.05 u, v = np.mgrid[0:2 * np.pi:30j, 0:np.pi:20j] x = np.cos(u) * np.sin(v) y = np.sin(u) * np.sin(v) z = np.cos(v) ax.plot_surface(x, y, z, cmap=plt.cm.YlGnBu_r) plt.show()
実行結果

このコードでは、球面座標のパラメータ u と v を np.mgrid で生成し、三角関数を使って x・y・z の座標を計算することで球面を定義しています。そして ax.plot_surface() にカラーマップ(YlGnBu_r)を指定することで、MATLABの surf 関数のように高さに応じて色が変化する美しい3Dサーフェスプロットが描画されます。cmap の種類を変更すれば、配色も自由にカスタマイズできます。
-
Matplotlib.pyplotとMatplotlib.figureの違いとは?わかりやすく解説
Matplotlibでグラフを描く際によく使われるmatplotlib.pyplotとmatplotlib.figure。どちらも図を作成するために使われますが、役割と仕組みが異なります。この記事では、それぞれの特徴と違いを具体例とともに解説します。 matplotlib.pyplotとは matplotlib.pyplotは、MatplotlibをMATLABのように操作できるようにする関数のコレクションです。pyplotの各関数は、図(figure)に対して何らかの変更を加えます。例えば、次のような操作が該当します。 新しい図(figure)を作成する 図の中にプロット領域(Axes)
-
【Matplotlib入門】set_xlimとset_xboundの違いを徹底解説!X軸の範囲設定の使い分け方
MatplotlibでグラフのX軸の表示範囲を制御する際、set_xlim()とset_xbound()という2つの似たメソッドがあります。一見同じように見えますが、実際には動作が異なります。この記事では、両者の違いと具体的な使い方をサンプルコード付きで解説します。 set_xlimとset_xboundの基本的な違い set_xlim() ― X軸の表示範囲(ビューの上限・下限)を直接設定します。このメソッドを使うと、指定した範囲外のデータは表示されなくなり、X軸の自動スケーリング(オートスケール)が無効になります。 set_xbound() ― X軸の数値的な下限と上限(バウンド)を