matplotlib.colorbar#

颜色条是标量值到颜色映射的可视化表示。在 Matplotlib 中,它们绘制在一个专用的 Axes 中。

备注

颜色条通常通过 Figure.colorbar 或其 pyplot 包装 pyplot.colorbar 创建,它们内部使用 Colorbarmake_axes_gridspec`(用于 `.GridSpec 定位的 Axes)或 make_axes`(用于非 `.GridSpec 定位的 Axes)。

终端用户很可能不需要直接使用此模块的API。

class matplotlib.colorbar.Colorbar(ax, mappable=None, *, cmap=None, norm=None, alpha=None, values=None, boundaries=None, orientation=None, ticklocation='auto', extend=None, spacing='uniform', ticks=None, format=None, drawedges=False, extendfrac=None, extendrect=False, label='', location=None)[源代码][源代码]#

基类:object

在现有的 Axes 中绘制颜色条。

通常,颜色条是使用 Figure.colorbarpyplot.colorbar 创建的,并与 ScalarMappable 相关联(例如通过 imshow 生成的 AxesImage)。

为了绘制一个不与图表中其他元素关联的颜色条,例如在单独显示色图时,可以创建一个空的 ScalarMappable,或者直接传递 cmapnorm 而不是 mappableColorbar

有用的公共方法是 set_label()add_lines()

参数:
axAxes

绘制颜色条的 Axes 实例。

可映射 : ScalarMappableScalarMappable

将使用其 colormap 和 norm 的可映射对象。

要显示低于和高于值的颜色,应将可映射对象的范数指定为

norm = colors.Normalize(clip=False)

要显示颜色与索引而不是在0-1的刻度上,使用:

norm=colors.NoNorm()
cmap : Colormap, 默认值: rcParams["image.cmap"] (default: 'viridis')颜色映射,默认值:rcParams["image.cmap"](默认值:'viridis')

要使用的颜色映射。除非 mappable 为 None,否则忽略此参数。

norm标准化

要使用的规范化。除非 mappable 为 None,否则此参数将被忽略。

alpha浮动

颜色条透明度介于0(透明)和1(不透明)之间。

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

如果为 None,则使用 location 确定的值。如果 orientationlocation 都为 None,则默认为 'vertical'。

ticklocation{'auto', 'left', 'right', 'top', 'bottom'}

颜色条刻度的位置。ticklocation 必须与 orientation 匹配。例如,水平颜色条只能在顶部或底部有刻度。如果为 'auto',刻度将与 location 相同,因此位于左侧的颜色条将在左侧有刻度。如果 location 为 None,水平颜色条的刻度将在底部,垂直颜色条的刻度将在右侧。

扩展{'neither', 'both', 'min', 'max'}

为超出范围的值创建尖端(除非选择'neither')。这些是通过使用colormap的set_under和set_over方法为给定的colormap设置的。

extendfractoctree 是一个 reStructuredText 指令 ,这是一个非常多功能的标记。指令可以有参数、选项和内容。

如果设置为 None,最小和最大三角形颜色条扩展的长度都将为内部颜色条长度的 5%(这是默认设置)。

如果设置为 'auto',会使三角形颜色条扩展与内部方框长度相同(当 spacing 设置为 'uniform' 时)或与各自相邻的内部方框长度相同(当 spacing 设置为 'proportional' 时)。

如果是一个标量,表示最小和最大三角形颜色条扩展的长度,作为内部颜色条长度的分数。也可以给出一个两元素的分数序列,分别表示最小和最大颜色条扩展的长度,作为内部颜色条长度的分数。

extendrect布尔

如果 False ,颜色条的最小和最大扩展将是三角形的(默认)。如果 True ,扩展将是矩形的。

间距{'均匀', '比例'}

对于离散的颜色条(BoundaryNorm 或等高线),'uniform' 给每个颜色相同的间距;'proportional' 使间距与数据区间成比例。

刻度无或刻度列表或定位器

如果为 None,刻度将根据输入自动确定。

格式None 或 str 或 Formatter

如果为 None,则使用 ScalarFormatter。支持格式字符串,例如 "%4.2e""{x:.2e}"。也可以提供一个替代的 Formatter

drawedges布尔

是否在颜色边界处绘制线条。

标签str

颜色条长轴上的标签。

边界, 值无或序列

如果未设置,色图将显示在0-1的刻度上。如果是序列,values 的长度必须比 boundaries 少1。对于 boundaries 中相邻条目分隔的每个区域,将使用映射到 values 中相应值的颜色。通常仅对索引颜色(即 norm=NoNorm())或其他不寻常的情况有用。

位置None 或 {'left', 'right', 'top', 'bottom'}

使用单个参数设置颜色条的 方向刻度位置 。左侧和右侧的颜色条是垂直的,顶部和底部的颜色条是水平的。刻度位置位置 相同,因此如果 位置 是 '顶部',则刻度在顶部。也可以提供 方向 和/或 刻度位置,它们会覆盖 位置 设置的值,但对于不兼容的组合将会报错。

Added in version 3.7.

属性:
axAxes

绘制颜色条的 Axes 实例。

列表

一个 LineCollection 列表(如果没有绘制线条则为空)。

分隔线 : LineCollectionLineCollection

一个 LineCollection(如果 drawedgesFalse,则为空)。

add_lines(*args, **kwargs)[源代码][源代码]#

在颜色条上绘制线条。

这些行被追加到列表 lines 中。

参数:
级别类数组

线条的位置。

颜色 : colorcolor 列表颜色或颜色列表

应用于所有线条的单一颜色,或每条线条一个颜色值。

线宽浮点数或类数组

要么是应用于所有行的单一行宽,要么是为每一行设置的行宽。

擦除bool, 默认: True

是否移除之前添加的任何行。

注释

另外,此方法也可以使用签名 colorbar.add_lines(contour_set, erase=True) 调用,在这种情况下,levelscolorslinewidths 取自 contour_set

drag_pan(button, key, x, y)[源代码][源代码]#
property formatter#

颜色条的主要刻度标签 Formatter

get_ticks(minor=False)[源代码][源代码]#

返回刻度作为位置列表。

参数:
次要布尔值,默认:False

如果为真,则返回次刻度。

property locator#

颜色条的主要刻度 Locator

property minorformatter#

颜色条的次要刻度 Formatter

property minorlocator#

颜色条的次要刻度 Locator

minorticks_off()[源代码][源代码]#

关闭颜色条的次要刻度。

minorticks_on()[源代码][源代码]#

打开颜色条次刻度。

n_rasterize = 50#
remove()[源代码][源代码]#

从图中移除这个颜色条。

如果颜色条是使用 use_gridspec=True 创建的,则会恢复之前的网格规格。

set_alpha(alpha)[源代码][源代码]#

设置透明度在 0(透明)和 1(不透明)之间。

如果提供了一个数组,alpha 将被设置为 None,以使用与颜色映射关联的透明度值。

set_label(label, *, loc=None, **kwargs)[源代码][源代码]#

为色条的长轴添加一个标签。

参数:
标签str

标签文本。

locstr, 可选

标签的位置。

  • 对于水平方向,可以选择 {'left', 'center', 'right'} 中的一个。

  • 对于垂直方向,可以是 {'bottom', 'center', 'top'} 中的一个

默认为 rcParams["xaxis.labellocation"] (default: 'center') 或 rcParams["yaxis.labellocation"] (default: 'center'),取决于方向。

**kwargs

关键字参数传递给 set_xlabel / set_ylabel。支持的关键字是 labelpadText 属性。

set_ticklabels(ticklabels, *, minor=False, **kwargs)[源代码][源代码]#

[不推荐] 设置刻度标签。

不鼓励

不鼓励使用此方法,因为它依赖于刻度位置。在大多数情况下,您应该使用 set_ticks(positions, labels=labels) 代替。

如果你使用这种方法,你应该总是在之前固定刻度位置,例如通过使用 Colorbar.set_ticks 或者通过显式地在颜色条的长轴上设置一个 FixedLocator。否则,刻度可以自由移动,标签可能会出现在意想不到的位置。

参数:
ticklabels : 字符串序列或 Text 对象序列字符串序列或

用于标记 Colorbar.set_ticks 设定的序列中每个刻度位置的文本;标签的数量必须与位置的数量匹配。

更新刻度bool, 默认: True

此关键字参数被忽略且将被移除。已弃用

次要布尔

如果为真,则设置次要刻度而不是主要刻度。

**kwargs

Text 标签的属性。

set_ticks(ticks, *, labels=None, minor=False, **kwargs)[源代码][源代码]#

设置刻度位置。

参数:
刻度1D 数组类

刻度位置列表。

标签list of str, 可选

刻度标签列表。如果未设置,标签将显示数据值。

次要bool, 默认值: False

如果 False,设置主刻度;如果 True,设置次刻度。

**kwargs

Text 标签的属性。这些属性仅在你传递 labels 时生效。其他情况下,请使用 tick_params

update_normal(mappable)[源代码][源代码]#

更新实心补丁、线条等。

当属于此颜色条的图像或等高线图的范数发生变化时,应调用此函数。

如果可映射对象的范数与之前不同,这将重置轴的定位器和格式化器,因此如果这些已被自定义,则需要再次自定义。然而,如果范数仅改变 vminvmaxcmap 的值,那么旧的格式化器和定位器将被保留。

update_ticks()[源代码][源代码]#

设置刻度和刻度标签。这不应由用户需要。

matplotlib.colorbar.ColorbarBase[源代码]#

Colorbar 的别名

matplotlib.colorbar.make_axes(parents, location=None, orientation=None, fraction=0.15, shrink=1.0, aspect=20, **kwargs)[源代码][源代码]#

创建一个适合颜色条的 Axes

Axes 被放置在 parents Axes 的图形中,通过调整大小和重新定位 parents

参数:
parents : Axes 或可迭代对象或 Axesnumpy.ndarrayAxes 或可迭代对象或 Axes 的 numpy.ndarray

用于放置颜色条的父级轴。

位置None 或 {'left', 'right', 'top', 'bottom'}

颜色条坐标轴相对于父坐标轴的位置。它还决定了颜色条的 方向 (左侧和右侧的颜色条是垂直的,顶部和底部的颜色条是水平的)。如果为 None,位置将来自 方向 如果它被设置(垂直颜色条在右侧,水平颜色条在底部),或者如果 方向 未设置则默认为 '右侧'。

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

颜色条的方向。最好设置颜色条的 位置 ,因为这同时也决定了 方向 ;传递 位置方向 的不兼容值会引发异常。

分数float, 默认值: 0.15

用于颜色条的原始轴的比例。

缩小float, 默认值: 1.0

颜色条大小乘以的分数。

方面float, 默认值: 20

长宽比。

填充浮动,默认值:如果垂直为0.05,如果水平为0.15

颜色条和新图像坐标轴之间原始坐标轴的分数。

锚点(浮点数, 浮点数), 可选

颜色条 Axes 的锚点。如果垂直,默认值为 (0.0, 0.5);如果水平,默认值为 (0.5, 1.0)。

panchor : (float, float), 或 False, 可选(浮点数, 浮点数), 或

颜色条父坐标轴的锚点。如果为 False,父坐标轴的锚点将保持不变。默认为垂直时为 (1.0, 0.5);水平时为 (0.5, 0.0)。

返回:
caxAxes

子 Axes。

kwargsdict

创建颜色条实例时要传递的简化关键字字典。

matplotlib.colorbar.make_axes_gridspec(parent, *, location=None, orientation=None, fraction=0.15, shrink=1.0, aspect=20, **kwargs)[源代码][源代码]#

创建一个适合颜色条的 Axes

Axes 被放置在 parent Axes 的图形中,通过调整大小和重新定位 parent

此函数类似于 make_axes 并且与其大部分兼容。主要区别在于

参数:
父级 : AxesAxes

用于放置颜色条的父坐标轴。

位置None 或 {'left', 'right', 'top', 'bottom'}

颜色条坐标轴相对于父坐标轴的位置。它还决定了颜色条的 方向 (左侧和右侧的颜色条是垂直的,顶部和底部的颜色条是水平的)。如果为 None,位置将来自 方向 如果它被设置(垂直颜色条在右侧,水平颜色条在底部),或者如果 方向 未设置则默认为 '右侧'。

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

颜色条的方向。最好设置颜色条的 位置 ,因为这同时也决定了 方向 ;传递 位置方向 的不兼容值会引发异常。

分数float, 默认值: 0.15

用于颜色条的原始轴的比例。

缩小float, 默认值: 1.0

颜色条大小乘以的分数。

方面float, 默认值: 20

长宽比。

填充浮动,默认值:如果垂直为0.05,如果水平为0.15

颜色条和新图像坐标轴之间原始坐标轴的分数。

锚点(浮点数, 浮点数), 可选

颜色条 Axes 的锚点。如果垂直,默认值为 (0.0, 0.5);如果水平,默认值为 (0.5, 1.0)。

panchor : (float, float), 或 False, 可选(浮点数, 浮点数), 或

颜色条父坐标轴的锚点。如果为 False,父坐标轴的锚点将保持不变。默认为垂直时为 (1.0, 0.5);水平时为 (0.5, 0.0)。

返回:
caxAxes

子 Axes。

kwargsdict

创建颜色条实例时要传递的简化关键字字典。