一、基本概念
在matplotlib中,contourf是一個函數,它提供了一種用於創建等高線的方法。等高線圖常用於展示二維數據的變化情況,例如氣溫分布圖、壓強分布圖等。
contourf函數能夠將二維數據的值映射到顏色空間,並生成一張二維圖像,其中每個像素的顏色反映了該位置的數據值。不同的顏色可以表示不同的數據範圍,因此該函數也常用於製作熱力圖。
二、調用方法
使用contourf函數,首先需要將數據傳遞給它。如果使用默認設置,該函數將生成11條等高線,並使用默認的調色板。
下面的代碼演示將數據傳遞給contourf函數,創建一個等高線圖:
import numpy as np import matplotlib.pyplot as plt # 創建x, y和z的值,z表示等高線高度 x = np.linspace(-3, 3, 256) y = np.linspace(-3, 3, 256) X, Y = np.meshgrid(x, y) Z = np.sin(np.sqrt(X**2 + Y**2)) # 繪製等高線 plt.contourf(X, Y, Z) plt.show()
三、自定義設置
在實際應用中,我們通常需要對等高線圖進行自定義設置以更好地展示數據。以下列舉了幾個常見的自定義設置:
1. 調整等高線數量
默認情況下,contourf函數將數據分成11個等高線。如果需要修改這個數量,可以指定levels參數。例如,將等高線數量改為20:
import numpy as np import matplotlib.pyplot as plt # 創建x, y和z的值,z表示等高線高度 x = np.linspace(-3, 3, 256) y = np.linspace(-3, 3, 256) X, Y = np.meshgrid(x, y) Z = np.sin(np.sqrt(X**2 + Y**2)) # 繪製等高線,分成20條等高線 plt.contourf(X, Y, Z, levels=20) plt.show()
2. 調整顏色映射
默認情況下,contourf函數使用matplotlib內置的顏色映射,該映射將數據線性映射到顏色空間。如果需要使用不同的顏色映射,可以指定cmap參數,例如使用Reds映射:
import numpy as np import matplotlib.pyplot as plt # 創建x, y和z的值,z表示等高線高度 x = np.linspace(-3, 3, 256) y = np.linspace(-3, 3, 256) X, Y = np.meshgrid(x, y) Z = np.sin(np.sqrt(X**2 + Y**2)) # 繪製等高線,使用Reds顏色映射 plt.contourf(X, Y, Z, cmap='Reds') plt.show()
3. 添加等高線邊緣
默認情況下,contourf函數不會繪製等高線的邊緣線條。如果需要通過等高線邊緣線條來表達數據信息,可以使用contour函數。例如:
import numpy as np import matplotlib.pyplot as plt # 創建x, y和z的值,z表示等高線高度 x = np.linspace(-3, 3, 256) y = np.linspace(-3, 3, 256) X, Y = np.meshgrid(x, y) Z = np.sin(np.sqrt(X**2 + Y**2)) # 繪製等高線內部填充和邊緣線條 plt.contourf(X, Y, Z, cmap='Reds') plt.contour(X, Y, Z, colors='black') plt.show()
四、總結
在本文中,我們對matplotlib中的contourf函數進行了詳細的介紹和演示。該函數可以方便地創建等高線圖和熱力圖,並且支持多種自定義設置,使得數據更加直觀。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/160768.html