Matplotlib-等高線図

等高線図(レベルプロットと呼ばれることもあります)は、2次元平面上に3次元表面を表示する方法です。これは、y軸に2つの予測変数XYをグラフ化し、等高線として応答変数Zをグラフ化します。これらの等高線は、zスライスまたは等応答値と呼ばれることもあります。

等高線図は、Z = f(X、Y)のように、2つの入力XとYの関数としてalueZがどのように変化するかを確認する場合に適しています。2つの変数の関数の等高線または等値線は、関数が一定の値を持つ曲線です。

独立変数xとyは通常、メッシュグリッドと呼ばれる通常のグリッドに制限されています。numpy.meshgridは、x値の配列とy値の配列から長方形のグリッドを作成します。

Matplotlib APIには、等高線と塗りつぶされた等高線をそれぞれ描画するcontour()関数とcontourf()関数が含まれています。両方の関数には、3つのパラメーターx、y、およびzが必要です。

import numpy as np
import matplotlib.pyplot as plt
xlist = np.linspace(-3.0, 3.0, 100)
ylist = np.linspace(-3.0, 3.0, 100)
X, Y = np.meshgrid(xlist, ylist)
Z = np.sqrt(X**2 + Y**2)
fig,ax=plt.subplots(1,1)
cp = ax.contourf(X, Y, Z)
fig.colorbar(cp) # Add a colorbar to a plot
ax.set_title('Filled Contours Plot')
#ax.set_xlabel('x (cm)')
ax.set_ylabel('y (cm)')
plt.show()