本文簡要介紹 python 語言中 matplotlib.axes.Axes.contour 的用法。
-
繪製等高線。
調用簽名:
contour([X, Y,] Z, [levels], **kwargs)contour和contourf分別繪製輪廓線和填充輪廓。除非另有說明,兩個版本的函數簽名和返回值是相同的。- 參數:
- X, Y 類似數組,可選
-
Z中值的坐標。X和Y必須都是 2D 且具有與Z相同的形狀(例如,通過numpy.meshgrid創建),或者它們必須都是 1-D 使得len(X) == N是Z中的列數和len(Y) == M是Z中的行數。X和Y都必須單調排序。如果沒有給出,它們被假定為整數索引,即
X = range(N),Y = range(M)。 - Z (M,N) 類數組
-
繪製輪廓的高度值。 Color-mapping 由
cmap、norm、vmin和vmax控製。 - levels int 或類似數組,可選
-
確定等高線/區域的數量和位置。
如果 int
n,請使用MaxNLocator,它會嘗試在Z的最小和最大數值之間自動選擇不超過n+1"nice" 等高線級別。如果是類似數組,則在指定級別繪製等高線。這些值必須按升序排列。
- 返回:
- 其他參數:
- corner_mask 布爾值,默認值:
rcParams["contour.corner_mask"](默認值:True) -
啟用/禁用角掩蔽,僅當
Z是掩蔽數組時才有效。如果False,則任何接觸遮罩點的四邊形都會被遮罩。如果True,隻有最接近這些點的四邊形的三角形角總是被屏蔽掉,其他包含三個未屏蔽點的三角形角像往常一樣被輪廓化。 - colors 顏色字符串或顏色序列,可選
-
級別的顏色,即
contour的線條和contourf的區域。該序列按升序循環用於各個級別。如果序列比級別數短,則重複。
作為一種快捷方式,可以使用單一顏色字符串代替單元素列表,即
'red'而不是['red']以使用相同顏色為所有級別著色。此快捷方式僅適用於顏色字符串,不適用於其他指定顏色的方式。默認情況下(值
None),將使用由cmap指定的顏色圖。 - alpha 浮點數,默認值:1
-
Alpha 混合值,介於 0(透明)和 1(不透明)之間。
- cmap str 或
Colormap,默認值:rcParams["image.cmap"](默認值:'viridis') -
用於將標量數據映射到顏色的顏色圖實例或注冊的顏色圖名稱。
如果設置了
colors,則忽略此參數。 - norm str 或
Normalize,可選 -
在使用
cmap映射到顏色之前,用於將標量數據縮放到 [0, 1] 範圍的歸一化方法。默認情況下,使用線性縮放,將最低值映射到 0,將最高值映射到 1。如果給出,這可以是以下之一:
-
Normalize或其子類之一的實例(請參閱顏色圖歸一化)。 -
比例名稱,即 "linear"、"log"、"symlog"、"logit" 等之一。有關可用比例的列表,請調用
matplotlib.scale.get_scale_names()。在這種情況下,會動態生成並實例化合適的Normalize子類。
如果設置了
colors,則忽略此參數。 -
- vmin, vmax 浮點數,可選
-
當使用標量數據並且沒有顯式
norm時,vmin和vmax定義顏色圖覆蓋的數據範圍。默認情況下,顏色圖覆蓋所提供數據的完整值範圍。當給出norm實例時,使用vmin/vmax是錯誤的(但使用strnorm名稱和vmin/vmax是可以接受的)。如果未給出
vmin或vmax,則默認顏色縮放基於levels。如果設置了
colors,則忽略此參數。 - origin {
None, 'upper', 'lower', 'image'},默認值:無 -
通過指定
Z[0, 0]的位置來確定Z的方向和準確位置。這僅在沒有給出X、Y的情況下才有意義。-
None:Z[0, 0]位於左下角的 X=0、Y=0 處。 -
'lower':
Z[0, 0]在左下角的 X=0.5,Y=0.5 處。 -
'upper':
Z[0, 0]在左上角的 X=N+0.5,Y=0.5 處。 -
'image':使用來自
rcParams["image.origin"]的值(默認值:'upper')。
-
- extent (x0, x1, y0, y1),可選
-
如果
origin不是None,則extent被解釋為imshow:它給出了外部像素邊界。在這種情況下,Z[0, 0] 的位置是像素的中心,而不是角落。如果origin是None,那麽 (x0,y0) 是 Z[0, 0] 的位置,並且 (x1,y1) 是 Z[-1, - 1]。如果在對輪廓的調用中指定了
X和Y,則忽略此參數。 - locator ticker.Locator 子類,可選
-
如果未通過
levels明確給出,則定位器用於確定輪廓級別。默認為MaxNLocator。 - extend {'neither', 'both', 'min', 'max'},默認:'neither'
-
確定
levels範圍之外的值的contourf著色。如果是'neither',則
levels範圍之外的值不著色。如果是'min', 'max' 或'both',為levels範圍的下方、上方或下方和上方的值著色。低於
min(levels)和高於max(levels)的值映射到Colormap的低於/高於值。請注意,默認情況下,大多數顏色圖沒有專門的顏色,因此上值和下值是顏色圖的邊值。您可能希望使用Colormap.set_under和Colormap.set_over顯式設置這些值。注意如果現有
QuadContourSet的顏色圖屬性發生更改,則不會收到通知。因此,修改顏色圖後需要顯式調用QuadContourSet.changed()。如果將顏色條分配給QuadContourSet,則可以省略顯式調用,因為它在內部調用QuadContourSet.changed()。例子:
x = np.arange(1, 10) y = x.reshape(-1, 1) h = x * y cs = plt.contourf(h, levels=[10, 30, 50], colors=['#808080', '#A0A0A0', '#C0C0C0'], extend='both') cs.cmap.set_over('red') cs.cmap.set_under('blue') cs.changed() - xunits, yunits 注冊單位,可選
-
通過指定
matplotlib.units.ConversionInterface的實例來覆蓋軸單位。 - antialiased 布爾型,可選
-
啟用抗鋸齒,覆蓋默認值。對於填充輪廓,默認值為
False。對於線條輪廓,它取自rcParams["lines.antialiased"](默認值:True)。 - nchunk int >= 0,可選
-
如果為 0,則不細分域。指定一個正整數以將域劃分為
nchunk通過nchunk四邊形的子域。分塊減少了輪廓算法生成的多邊形的最大長度,從而減少了傳遞到後端的渲染工作量,並且需要的 RAM 也略少。但是,它可以根據後端、antialiased標誌和alpha的值在塊邊界引入渲染工件。 - linewidths 浮點數或類似數組,默認值:
rcParams["contour.linewidth"](默認值:None) -
Only applies tocontour。等高線的線寬。
如果是數字,則所有級別都將使用此線寬繪製。
如果是一個序列,將按照指定的順序繪製升序級別的線寬。
如果沒有,這將回退到
rcParams["lines.linewidth"](默認值:1.5)。 - linestyles {
None, 'solid', 'dashed', 'dashdot', 'dotted'},可選 -
Only applies tocontour。如果
linestyles為None,則默認值為 'solid' ,除非線條是單色的。在這種情況下,負輪廓將從negative_linestyles參數中獲取線條樣式。linestyles也可以是上述字符串的可迭代對象,指定要使用的一組線型。如果這個迭代比輪廓級別的數量短,它將根據需要重複。 - negative_linestyles {
None, 'solid', 'dashed', 'dashdot', 'dotted'},可選 -
Only applies tocontour。如果
linestyles是None並且線條是單色的,則此參數指定負輪廓的線條樣式。如果
negative_linestyles是None,則默認值取自rcParams["contour.negative_linestyles"]。negative_linestyles也可以是上述字符串的可迭代對象,指定要使用的一組線型。如果這個迭代比輪廓級別的數量短,它將根據需要重複。 - hatches 列表[str],可選
-
Only applies tocontourf。用於填充區域的交叉影線圖案列表。如果沒有,則不會向輪廓添加陰影。陰影僅在 PostScript、PDF、SVG 和 Agg 後端中受支持。
- algorithm {'mpl2005'、'mpl2014'、'serial', 'threaded'},可選
-
使用哪種輪廓算法來計算輪廓線和多邊形。這些算法在ContourPy中實現,請參閱ContourPy documentation以獲取更多信息。
默認值取自
rcParams["contour.algorithm"](默認值:'mpl2014')。 - clip_path
Patch或Path或TransformedPath -
設置剪輯路徑。請參閱
set_clip_path。3.8 版中的新函數。
- data 可索引對象,可選
-
如果給定,所有參數也接受一個字符串
s,它被解釋為data[s](除非這引發異常)。
- corner_mask 布爾值,默認值:
注意
-
contourf與 MATLAB 版本的不同之處在於它不繪製多邊形邊。要繪製邊,請通過調用contour添加線條輪廓。 -
contourf填充頂部閉合的區間;也就是說,對於邊界z1和z2,填充區域為:z1 < Z <= z2除了最低間隔,它在兩邊都是封閉的(即它包括最低值)。
-
contour和contourf使用 marching squares 算法來計算輪廓位置。更多信息可以在ContourPy documentation中找到。
用法
Axes.contour(*args, data=None, **kwargs)
相關用法
- Python matplotlib Axes.contourf用法及代碼示例
- Python matplotlib Axes.get_legend_handles_labels用法及代碼示例
- Python matplotlib Axes.hist用法及代碼示例
- Python matplotlib Axes.step用法及代碼示例
- Python matplotlib Axes.plot用法及代碼示例
- Python matplotlib Axes.semilogx用法及代碼示例
- Python matplotlib Axes.semilogy用法及代碼示例
- Python matplotlib Axes.inset_axes用法及代碼示例
- Python matplotlib Axes.axis用法及代碼示例
- Python matplotlib Axes.barbs用法及代碼示例
- Python matplotlib Axes.tripcolor用法及代碼示例
- Python matplotlib Axes.set_prop_cycle用法及代碼示例
- Python matplotlib Axes.axline用法及代碼示例
- Python matplotlib Axes.tick_params用法及代碼示例
- Python matplotlib Axes.axvspan用法及代碼示例
- Python matplotlib Axes.tricontourf用法及代碼示例
- Python matplotlib Axes.locator_params用法及代碼示例
- Python matplotlib Axes.set_ylim用法及代碼示例
- Python matplotlib Axes.loglog用法及代碼示例
- Python matplotlib Axes.text用法及代碼示例
- Python matplotlib Axes.boxplot用法及代碼示例
- Python matplotlib Axes.triplot用法及代碼示例
- Python matplotlib Axes.tricontour用法及代碼示例
- Python matplotlib Axes.arrow用法及代碼示例
- Python matplotlib Axes.set_xlim用法及代碼示例
注:本文由純淨天空篩選整理自skytowner.com大神的英文原創作品 matplotlib.axes.Axes.contour。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
