plt.contour 與 plt.contourf


contour:輪廓,等高線

1.為等高線上注明等高線的含義:

cs = plt.contour(x, y, z)
plt.clabel(cs, inline=True, fontsize=10)#inline=True,表示高度寫在等高線上

2.plt.contourf 與 plt.contour 區別:

  • f:filled,也即對等高線間的填充區域進行填充(使用不同的顏色)
  • contourf:將不會再繪制等高線(顯然不同的顏色分界就表示等高線本身)

3.增加 colorbar

cb = plt.colorbar()
cb.set_label('meters')

默認 colorbar 是豎直放置,通過 orientation 關鍵字參數,可將其設置為水平放置;

cb = plt.colorbar(orientation='horizontal')

舉例:

等高線是三維圖像在二維空間的投影

(1)首先准備三維函數及待投影平面的網格坐標

def f(x, y, w=5, sigma=2):
    return np.sin(w*x)**2 * np.sin(w*y)**2 * np.exp((x+y)/sigma)
n = 256
x = np.linspace(0, 3, n)
y = np.linspace(0, 3, n)
X, Y = np.meshgrid(x, y)

(2)繪制等高線

C = plt.contour(X, Y, f(X, Y),  8, colors='black')
	# 8代表等高線的密集程度,這里被分為10個部分。如果是0,則圖像被一分為二。
	# 可以將其設置為 20觀察變化;
# 等高線之間的顏色填充,可選
plt.contourf(X, Y, f(X, Y), 8, alpha=.75, cmap='gray_r')

(3)添加高度與數字

ptl.clabel(C, inline=True, fontsize=10)
	# inline=True,表示高度寫在等高線上
# 關閉坐標軸

效果如下圖所示:

 

參考文獻:

【1】matplotlib 等高線的繪制 —— plt.contour 與 plt.contourf


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM