matplotlib.colorbar
#
颜色条是标量值到颜色映射的可视化表示。在Matplotlib中,它们被绘制到一个专用的Axes
中。
注意
颜色条通常通过Figure.colorbar
或其pyplot包装器pyplot.colorbar
创建,这些函数内部使用Colorbar
,并结合make_axes_gridspec
(用于GridSpec
定位的Axes)或make_axes
(用于非GridSpec
定位的Axes)。
最终用户通常不需要直接使用此模块的API。
- class matplotlib.colorbar.Colorbar(ax, mappable=None, *, alpha=None, location=None, extend=None, extendfrac=None, extendrect=False, ticks=None, format=None, values=None, boundaries=None, spacing='uniform', drawedges=False, label='', cmap=None, norm=None, orientation=None, ticklocation='auto')[source]#
基类:
object
在现有Axes中绘制颜色条。
通常,颜色条是使用
Figure.colorbar
或pyplot.colorbar
创建的,并与ScalarMappable
对象(例如通过imshow
生成的AxesImage
)关联。为了绘制与图中其他元素不关联的颜色条,例如单独显示一个颜色图时,可以创建一个空的
ScalarMappable
,或者直接将 cmap 和 norm 参数(而不是 mappable)传递给Colorbar
。有用的公共方法包括
set_label()
和add_lines()
。- 属性:
- ax
Axes
绘制颜色条的
Axes
实例。- lines列表
一个
LineCollection
列表(如果未绘制任何线,则为空)。- dividers
LineCollection
一个LineCollection(如果drawedges为
False
,则为空)。
- ax
- 参数:
- ax
Axes
绘制颜色条的
Axes
实例。- mappable
ScalarMappable
将使用其颜色图和范数的mappable对象。
若要按索引而非0-1比例显示颜色,请将mappable的范数设置为
colors.NoNorm()
。- alpha浮点数
颜色条的透明度,范围在0(透明)到1(不透明)之间。
- locationNone 或 {'left', 'right', 'top', 'bottom'}
设置颜色条的 orientation(方向)和 ticklocation(刻度位置)。左侧和右侧的颜色条是垂直的,顶部和底部的颜色条是水平的。ticklocation与location相同,因此如果location是'top',则刻度在顶部。orientation和/或ticklocation也可以提供并覆盖location设置的值,但对于不兼容的组合将报错。
版本 3.7 新增。
- extend{'neither', 'both', 'min', 'max'}
为超出范围的值制作尖头末端(除非是 'neither')。这些是通过 colormap 的 set_under 和 set_over 方法为给定 colormap 设置的。
- extendfrac{None, 'auto', length, lengths}
如果设置为 None,则最小和最大三角形颜色条扩展的长度均为内部颜色条长度的 5%(这是默认设置)。
如果设置为 'auto',则使三角形颜色条扩展的长度与内部框的长度相同(当 spacing 设置为 'uniform' 时),或与相应的相邻内部框的长度相同(当 spacing 设置为 'proportional' 时)。
如果是一个标量,表示最小和最大三角形颜色条扩展的长度占内部颜色条长度的分数。也可以给出一个包含两个分数元素的序列,分别表示最小和最大颜色条扩展的长度占内部颜色条长度的分数。
- extendrect布尔值
如果为 False,最小和最大颜色条扩展将是三角形的(默认)。如果为 True,扩展将是矩形的。
- ticksNone 或 刻度列表 或 Locator
如果为 None,则刻度自动从输入中确定。
- formatNone 或 str 或 Formatter
如果为None,则使用
ScalarFormatter
。支持格式字符串,例如"%4.2e"
或"{x:.2e}"
。也可以提供另一个Formatter
。- drawedges布尔值
是否在颜色边界处绘制线条。
- label字符串
颜色条长轴上的标签。
- boundaries, valuesNone 或 序列
如果未设置,颜色图将以0-1的比例显示。如果是序列,values的长度必须比boundaries少1。对于由boundaries中相邻条目界定的每个区域,将使用映射到values中对应值的颜色。每个区域的大小由spacing参数决定。通常只对索引颜色(即
norm=NoNorm()
)或其他不寻常情况有用。- spacing{'uniform', 'proportional'}
对于离散颜色条(
BoundaryNorm
或等高线),'uniform'使每个颜色占据相同的空间;'proportional'使空间与数据间隔成比例。
- ax
- 其他参数:
- cmap
Colormap
,默认值:rcParams["image.cmap"]
(默认值:'viridis'
) 要使用的颜色图。除非mappable为None,否则此参数将被忽略。
- norm
Normalize
要使用的归一化。除非mappable为None,否则此参数将被忽略。
- orientationNone 或 {'vertical', 'horizontal'}
如果为None,则使用由location决定的值。如果orientation和location都为None,则默认为'vertical'。
- ticklocation{'auto', 'left', 'right', 'top', 'bottom'}
颜色条刻度的位置。ticklocation必须与orientation匹配。例如,水平颜色条只能在顶部或底部有刻度。如果为'auto',则刻度将与location相同,因此位于左侧的颜色条刻度将在左侧。如果location为None,则水平颜色条的刻度将在底部,垂直颜色条的刻度将在右侧。
- cmap
- add_lines(*args, **kwargs)[source]#
在颜色条上绘制线条。
线条被添加到
lines
列表中。- 参数:
- levels类数组
线条的位置。
- colors颜色或颜色列表
应用于所有线条的单一颜色,或每条线条一个颜色值。
- linewidths浮点数或类数组
应用于所有线条的单一线宽,或每条线条一个线宽。
- erase布尔值,默认值:True
是否移除之前添加的任何线条。
备注
此外,此方法也可以使用签名
colorbar.add_lines(contour_set, erase=True)
调用,在这种情况下,levels、colors和linewidths将取自contour_set。
- property long_axis#
带有装饰(刻度等)的轴。
- n_rasterize = 50#
- set_label(label, *, loc=None, **kwargs)[source]#
为颜色条的长轴添加标签。
- 参数:
- label字符串
标签文本。
- loc字符串,可选
标签的位置。
对于水平方向,可选值为{'left', 'center', 'right'}
对于垂直方向,可选值为{'bottom', 'center', 'top'}
根据方向,默认为
rcParams["xaxis.labellocation"]
(默认值:'center'
)或rcParams["yaxis.labellocation"]
(默认值:'center'
)。- **kwargs
关键字参数传递给
set_xlabel
/set_ylabel
。支持的关键字是labelpad和Text
属性。
- set_ticklabels(ticklabels, *, minor=False, **kwargs)[source]#
[不推荐] 设置刻度标签。
不建议使用
不推荐使用此方法,因为它依赖于刻度位置。在大多数情况下,您会希望使用
set_ticks(positions, labels=labels)
。如果您使用此方法,应始终事先固定刻度位置,例如使用
Colorbar.set_ticks
或在颜色条的长轴上显式设置FixedLocator
。否则,刻度可能会自由移动,标签可能最终出现在意想不到的位置。- 参数:
- ticklabels字符串序列或
Text
序列 用于标记由
Colorbar.set_ticks
设置的序列中每个刻度位置的文本;标签的数量必须与位置的数量匹配。- update_ticks布尔值,默认值:True
此关键字参数将被忽略并移除。已弃用
- minor布尔值
如果为 True,则设置次要刻度而不是主要刻度。
- **kwargs
标签的
Text
属性。
- ticklabels字符串序列或
- set_ticks(ticks, *, labels=None, minor=False, **kwargs)[source]#
设置刻度位置。
- 参数:
- ticks一维类数组
刻度位置列表。
- labels字符串列表, 可选
刻度标签列表。如果未设置,标签将显示数据值。
- minor布尔值,默认为:False
如果为
False
,则设置主刻度;如果为True
,则设置次刻度。- **kwargs
标签的
Text
属性。这些属性仅在您传递labels时生效。在其他情况下,请使用tick_params
。
- matplotlib.colorbar.make_axes(parents, location=None, orientation=None, fraction=0.15, shrink=1.0, aspect=20, **kwargs)[source]#
创建一个适用于颜色条的
Axes
。通过调整parents的大小和重新定位,将此Axes放置在parents Axes的图中。
- 参数:
- parents
Axes
或可迭代对象,或numpy.ndarray
形式的Axes
用作放置颜色条的父级Axes。
- locationNone 或 {'left', 'right', 'top', 'bottom'}
颜色条Axes相对于父级Axes的创建位置。它还决定了颜色条的orientation(方向)(左侧和右侧的颜色条是垂直的,顶部和底部的颜色条是水平的)。如果为None,则位置将从orientation(如果已设置)中获取(垂直颜色条在右侧,水平颜色条在底部),或者如果orientation未设置,则默认为'right'。
- orientationNone 或 {'vertical', 'horizontal'}
颜色条的方向。最好设置颜色条的 location,因为它也决定了方向;传递不兼容的 location 和 orientation 值会引发异常。
- fractionfloat, 默认值: 0.15
用于颜色条的原始 Axes 的比例。
- shrinkfloat, 默认值: 1.0
颜色条大小的乘法因子。
- aspectfloat, 默认值: 20
长短尺寸比。
- padfloat, 默认值: 0.05 if vertical, 0.15 if horizontal
颜色条与新图像 Axes 之间的原始 Axes 比例。
- anchor(float, float), 可选
颜色条 Axes 的锚点。垂直时默认为 (0.0, 0.5);水平时默认为 (0.5, 1.0)。
- panchor(float, float), 或 False, 可选
颜色条父 Axes 的锚点。如果为 False,则父 Axes 的锚点将保持不变。垂直时默认为 (1.0, 0.5);水平时默认为 (0.5, 0.0)。
- parents
- 返回:
- cax
Axes
子Axes。
- kwargs字典
创建颜色条实例时要传递的精简关键字字典。
- cax
- matplotlib.colorbar.make_axes_gridspec(parent, *, location=None, orientation=None, fraction=0.15, shrink=1.0, aspect=20, **kwargs)[source]#
创建一个适用于颜色条的
Axes
。通过调整parent的大小和重新定位,将此Axes放置在parent Axes的图中。
此函数与
make_axes
相似,且大部分兼容。主要区别在于make_axes_gridspec
要求 *父级* 具有 subplotspec。make_axes
在图坐标中定位 Axes;make_axes_gridspec
使用 subplotspec 定位它。make_axes
更新父级的位置。make_axes_gridspec
用一个新的替换父级 gridspec。
- 参数:
- 父级
Axes
用作放置颜色条的父级的 Axes。
- locationNone 或 {'left', 'right', 'top', 'bottom'}
颜色条Axes相对于父级Axes的创建位置。它还决定了颜色条的orientation(方向)(左侧和右侧的颜色条是垂直的,顶部和底部的颜色条是水平的)。如果为None,则位置将从orientation(如果已设置)中获取(垂直颜色条在右侧,水平颜色条在底部),或者如果orientation未设置,则默认为'right'。
- orientationNone 或 {'vertical', 'horizontal'}
颜色条的方向。最好设置颜色条的 location,因为它也决定了方向;传递不兼容的 location 和 orientation 值会引发异常。
- fractionfloat, 默认值: 0.15
用于颜色条的原始 Axes 的比例。
- shrinkfloat, 默认值: 1.0
颜色条大小的乘法因子。
- aspectfloat, 默认值: 20
长短尺寸比。
- padfloat, 默认值: 0.05 if vertical, 0.15 if horizontal
颜色条与新图像 Axes 之间的原始 Axes 比例。
- anchor(float, float), 可选
颜色条 Axes 的锚点。垂直时默认为 (0.0, 0.5);水平时默认为 (0.5, 1.0)。
- panchor(float, float), 或 False, 可选
颜色条父 Axes 的锚点。如果为 False,则父 Axes 的锚点将保持不变。垂直时默认为 (1.0, 0.5);水平时默认为 (0.5, 0.0)。
- 父级
- 返回:
- cax
Axes
子Axes。
- kwargs字典
创建颜色条实例时要传递的精简关键字字典。
- cax