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


Python matplotlib colorbar用法及代碼示例


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

用法

matplotlib.pyplot.colorbar(mappable=None, cax=None, ax=None, **kw)

在繪圖中添加顏色條。

參數

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 ,可選

將在其中繪製顏色條的軸。

ax Axes ,軸列表,可選

如果cax 為無,則一個或多個父軸將從中竊取新顏色條軸的空間。如果設置了cax,這將無效。

use_gridspec 布爾型,可選

如果 caxNone ,則會創建一個新的 cax 作為 Axes 的實例。如果 ax 是 Subplot 的實例並且 use_gridspecTrue ,則 cax 使用 gridspec 模塊創建為 Subplot 的實例。

返回

colorbar Colorbar

注意

附加的關鍵字參數有兩種:

軸屬性:

地點無或 {'left', 'right', 'top', 'bottom'}

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

方向無或 {'vertical', 'horizontal'}

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

分數浮點數,默認值:0.15

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

收縮浮點數,默認值:1.0

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

方麵浮點數,默認:20

長尺寸與短尺寸的比率。

軟填充浮點數,默認:0.05 如果垂直,0.15 如果水平

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

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

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

潘喬爾(浮點數,浮點數)或 False ,可選

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

顏色欄屬性:

屬性

說明

extend

{'neither', 'both', 'min', 'max'} 如果不是'neither',則為超出範圍的值設置尖端。這些是使用顏色圖set_under 和set_over 方法為給定的顏色圖設置的。

extendfrac

{ None , 'auto', length, lengths} 如果設置為 None ,最小和最大三角形顏色條擴展的長度都是內部顏色條長度的 5%(這是默認設置)。如果設置為'auto',則使三角形顏色條擴展與內部框的長度相同(當spacing設置為'uniform'時)或與相應的相鄰內部框相同的長度(當spacing設置為'proportional')。如果是標量,則將最小和最大三角形顏色條擴展的長度表示為內部顏色條長度的一部分。也可以給出分數的二元素序列,分別指示最小和最大顏色條擴展的長度作為內部顏色條長度的一部分。

extendrect

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

spacing

{'uniform', 'proportional'} 均勻的間距給每個離散的顏色相同的空間;比例使空間與數據間隔成比例。

ticks

None 或刻度列表或定位器 如果沒有,刻度將根據輸入自動確定。

format

None 或 str 或 Formatter 如果 None,則使用 ScalarFormatter 。如果給出了格式字符串,例如 '%.3f',則使用該格式字符串。可以改為使用替代 Formatter

drawedges

bool 是否在顏色邊界處畫線。

label

str 顏色條長軸上的標簽。

以下內容可能僅在索引顏色的上下文中有用(即,當可映射對象具有 norm=NoNorm() 時)或其他異常情況。

屬性

說明

boundaries

無或序列

values

無或長度必須比 boundaries 的序列小 1 的序列。對於由 boundaries 中的相鄰條目分隔的每個區域,將使用映射到 values 中相應值的顏色映射。

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

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

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

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

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

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

相關用法


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