輪廓圖(有時稱為「水平圖」)是一種在二維平面上顯示三維表面的方法。 它繪製了y
軸上的兩個預測變數X Y和輪廓的響應變數Z
。 這些輪廓有時稱為z
切片或等響應值。
如果要檢視Z
如何隨兩個輸入X
和Y
的變化而變化,則輪廓圖是非常適用的,例如Z = f(X,Y)
。 兩個變數函式的等值線或等值線是函式具有常數值的曲線。
自變數x
和y
通常限於稱為meshgrid
的規則網格。 numpy.meshgrid
使用x
值陣列和y值陣列建立一個矩形網格。
Matplotlib API包含分別繪製輪廓線和填充輪廓的contour()
和contourf()
函式。 兩個函式都需要三個引數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('Matplotlib輪廓圖')
#ax.set_xlabel('x (cm)')
ax.set_ylabel('y (cm)')
plt.show()
執行上面範例程式碼,得到以下結果 -