當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python matplotlib Figure.colorbar用法及代碼示例

本文簡要介紹 python 語言中 matplotlib.figure.Figure.colorbar 的用法。

用法

colorbar(mappable, cax=None, ax=None, use_gridspec=True, **kwargs)

在繪圖中添加顏色條。

參數
mappable

此顏色條說明的 matplotlib.cm.ScalarMappable (即 AxesImage ContourSet 等)。此參數對於 Figure.colorbar 方法是必需的,但對於 pyplot.colorbar 函數是可選的,該函數將默認值設置為當前圖像。

請注意,可以創建 ScalarMappable "on-the-fly" 來生成未附加到先前繪製的藝術家的顏色條,例如

fig.colorbar(cm.ScalarMappable(norm=norm, cmap=cmap), ax=ax)
cax Axes ,可選

將繪製顏色條的軸。如果 None ,則會創建一個新的軸,並且將從 ax 中指定的軸中竊取其空間。

ax Axes 或可迭代或 numpy.ndarray 軸,可選

將竊取新顏色條軸的空間的一個或多個父軸。僅當未設置cax 時才使用此參數。

默認為包含用於創建顏色條的可映射的軸。

use_gridspec 布爾型,可選

如果 caxNone ,則會創建一個新的 cax 作為 Axes 的實例。如果 ax 使用 subplotspec 定位,並且 use_gridspecTrue ,則 cax 也使用 subplotspec 定位。

返回
colorbar Colorbar
其他參數
location 無或 {'left', 'right', 'top', 'bottom'}

創建顏色條軸的位置,相對於父軸。它還確定顏色條的orientation(左右顏色條是垂直的,頂部和底部的顏色條是水平的)。如果沒有,如果設置了位置,則位置將來自orientation(右側的垂直顏色條,底部的水平顏色條),如果未設置orientation,則默認為'right'。

orientation 無或 {'vertical', 'horizontal'}

顏色條的方向。最好設置顏色條的location,因為這也決定了orientation;為locationorientation 傳遞不兼容的值會引發異常。

fraction 浮點數,默認值:0.15

用於顏色條的原始軸的分數。

shrink 浮點數,默認值:1.0

與顏色條大小相乘的分數。

aspect 浮點數,默認:20

長尺寸與短尺寸的比率。

pad 浮點數,默認:0.05 如果垂直,0.15 如果水平

顏色條和新圖像軸之間的原始軸的分數。

anchor (浮點數,浮點數),可選

顏色條軸的錨點。如果垂直,則默認為 (0.0, 0.5); (0.5, 1.0) 如果水平。

panchor (浮點數,浮點數)或 False ,可選

顏色欄父軸的錨點。如果 False ,父軸的錨點將保持不變。如果垂直,則默認為 (1.0, 0.5); (0.5, 0.0) 如果水平。

extend {'neither', 'both', 'min', 'max'}

對於超出範圍的值,請使用尖頭(除非'neither')。這些是使用顏色圖 set_under 和 set_over 方法為給定顏色圖設置的。

extendfrac { None , 'auto', 長度, 長度}

如果設置為 None ,則最小和最大三角形顏色條擴展的長度將為內部顏色條長度的 5%(這是默認設置)。

如果設置為 'auto',則使三角形顏色條延伸與內部框的長度相同(當 spacing 設置為 'uniform' 時),或與各個相鄰內部框的長度相同(當 spacing 設置為'proportional')。

如果是標量,則指示最小和最大三角形顏色條延伸的長度作為內部顏色條長度的一部分。還可以給出分數的二元素序列,分別指示最小和最大顏色條延伸的長度作為內部顏色條長度的分數。

extendrect bool

如果False,最小和最大顏色條擴展將為三角形(默認)。如果True,擴展將是矩形的。

spacing {'uniform', 'proportional'}

對於離散顏色條( BoundaryNorm 或輪廓),'uniform' 為每種顏色提供相同的空間; 'proportional'使空間與數據間隔成正比。

ticks 無或刻度列表或定位器

如果無,則根據輸入自動確定刻度。

format 無或 str 或格式化程序

如果無,則使用 ScalarFormatter 。支持格式字符串,例如 "%4.2e""{x:.2e}" 。可以替代地給出替代的 Formatter

drawedges bool

是否在顏色邊界處繪製線條。

label str

顏色條長軸上的標簽。

boundaries, values 無或序列

如果未設置,顏色圖將以 0-1 的比例顯示。如果是序列,values 的長度必須比 boundaries 小 1。對於 boundaries 中相鄰條目分隔的每個區域,將使用映射到 value 中相應值的顏色。通常僅對索引顏色(即 norm=NoNorm() )或其他異常情況有用。

注意

如果 mappable ContourSet ,則自動包含其 extend kwarg。

shrink kwarg 提供了一種相對於軸縮放顏色條的簡單方法。請注意,如果指定了cax,則它確定顏色條的大小,並且shrinkaspect將被忽略。

要進行更精確的控製,您可以手動指定繪製可映射對象和顏色條的坐標區對象的位置。在這種情況下,不要使用任何軸屬性 kwargs。

眾所周知,某些矢量圖形查看器(svg 和 pdf)會在顏色條段之間呈現白色間隙。這是由於查看器中的錯誤,而不是 Matplotlib。作為解決方法,可以使用重疊的段來渲染顏色條:

cbar = colorbar()
cbar.solids.set_edgecolor("face")
draw()

然而,這在其他情況下會產生負麵影響,例如具有半透明圖像(alpha < 1)和顏色條擴展;因此,默認情況下不使用此解決方法(請參閱問題#1188)。

相關用法


注:本文由純淨天空篩選整理自skytowner.com大神的英文原創作品 matplotlib.figure.Figure.colorbar。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。