Matplotlib輪廓圖


輪廓圖(有時稱為「水平圖」)是一種在二維平面上顯示三維表面的方法。 它繪製了y軸上的兩個預測變數X Y和輪廓的響應變數Z。 這些輪廓有時稱為z切片或等響應值。

如果要檢視Z如何隨兩個輸入XY的變化而變化,則輪廓圖是非常適用的,例如Z = f(X,Y)。 兩個變數函式的等值線或等值線是函式具有常數值的曲線。

自變數xy通常限於稱為meshgrid的規則網格。 numpy.meshgrid使用x值陣列和y值陣列建立一個矩形網格。

Matplotlib API包含分別繪製輪廓線和填充輪廓的contour()contourf()函式。 兩個函式都需要三個引數xyz

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()

執行上面範例程式碼,得到以下結果 -