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, *, 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.colorbar
或pyplot.colorbar
创建的,并与ScalarMappable
相关联(例如通过imshow
生成的AxesImage
)。为了绘制一个不与图表中其他元素关联的颜色条,例如在单独显示色图时,可以创建一个空的
ScalarMappable
,或者直接传递 cmap 和 norm 而不是 mappable 给Colorbar
。有用的公共方法是
set_label()
和add_lines()
。- 参数:
- ax
Axes
绘制颜色条的
Axes
实例。- 可映射 :
ScalarMappable
ScalarMappable
将使用其 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 确定的值。如果 orientation 和 location 都为 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设置的。
- extendfrac
toctree
是一个 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.
- ax
- 属性:
- ax
Axes
绘制颜色条的
Axes
实例。- 行列表
一个
LineCollection
列表(如果没有绘制线条则为空)。- 分隔线 :
LineCollection
LineCollection
一个 LineCollection(如果 drawedges 为
False
,则为空)。
- ax
- add_lines(*args, **kwargs)[源代码][源代码]#
在颜色条上绘制线条。
这些行被追加到列表
lines
中。- 参数:
注释
另外,此方法也可以使用签名
colorbar.add_lines(contour_set, erase=True)
调用,在这种情况下,levels、colors 和 linewidths 取自 contour_set。
- n_rasterize = 50#
- 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
。支持的关键字是 labelpad 和Text
属性。
- set_ticklabels(ticklabels, *, minor=False, **kwargs)[源代码][源代码]#
[不推荐] 设置刻度标签。
不鼓励
不鼓励使用此方法,因为它依赖于刻度位置。在大多数情况下,您应该使用
set_ticks(positions, labels=labels)
代替。如果你使用这种方法,你应该总是在之前固定刻度位置,例如通过使用
Colorbar.set_ticks
或者通过显式地在颜色条的长轴上设置一个FixedLocator
。否则,刻度可以自由移动,标签可能会出现在意想不到的位置。- 参数:
- ticklabels : 字符串序列或
Text
对象序列字符串序列或 用于标记
Colorbar.set_ticks
设定的序列中每个刻度位置的文本;标签的数量必须与位置的数量匹配。- 更新刻度bool, 默认: True
此关键字参数被忽略且将被移除。已弃用
- 次要布尔
如果为真,则设置次要刻度而不是主要刻度。
- **kwargs
Text
标签的属性。
- ticklabels : 字符串序列或
- set_ticks(ticks, *, labels=None, minor=False, **kwargs)[源代码][源代码]#
设置刻度位置。
- 参数:
- 刻度1D 数组类
刻度位置列表。
- 标签list of str, 可选
刻度标签列表。如果未设置,标签将显示数据值。
- 次要bool, 默认值: 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)[源代码][源代码]#
创建一个适合颜色条的
Axes
。Axes 被放置在 parents Axes 的图形中,通过调整大小和重新定位 parents。
- 参数:
- parents :
Axes
或可迭代对象或Axes
的numpy.ndarray
Axes 或可迭代对象或 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)。
- parents :
- 返回:
- cax
Axes
子 Axes。
- kwargsdict
创建颜色条实例时要传递的简化关键字字典。
- cax
- 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
并且与其大部分兼容。主要区别在于make_axes_gridspec
要求 父级 具有一个子图规格。make_axes
在图坐标中定位 Axes;make_axes_gridspec
使用 subplotspec 定位它。make_axes
更新父对象的位置。make_axes_gridspec
用一个新的网格规格替换父网格规格。
- 参数:
- 父级 :
Axes
Axes
用于放置颜色条的父坐标轴。
- 位置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)。
- 父级 :
- 返回:
- cax
Axes
子 Axes。
- kwargsdict
创建颜色条实例时要传递的简化关键字字典。
- cax