matplotlib.pyplot.colorbar#

matplotlib.pyplot.colorbar(mappable=None, cax=None, ax=None, **kwargs)[源]#

向绘图添加一个颜色条。

参数:
mappable

此颜色条所描述的 matplotlib.cm.ScalarMappable(即 AxesImageContourSet 等)。此参数对于 Figure.colorbar 方法是必需的,但对于 pyplot.colorbar 函数是可选的,后者将默认值设置为当前图像。

请注意,可以“即时”创建一个 ScalarMappable 以生成不依附于先前绘制的 artist 的颜色条,例如:

fig.colorbar(cm.ScalarMappable(norm=norm, cmap=cmap), ax=ax)
caxAxes, 可选

颜色条将被绘制到的坐标系。如果为 None,则会创建一个新的坐标系,其空间将从 ax 中指定的坐标系中获取。

axAxes 或可迭代对象或 numpy.ndarray 的坐标系,可选

将从中窃取空间以创建新颜色条 Axes 的一个或多个父 Axes。此参数仅在未设置 cax 时使用。

默认为包含用于创建颜色条的 mappable 的 Axes。

use_gridspecbool, 可选

如果 caxNone,则会创建一个新的 cax 作为 Axes 的实例。如果 ax 使用 subplotspec 定位,且 use_gridspecTrue,则 cax 也将使用 subplotspec 定位。

返回:
colorbarColorbar
其他参数:
locationNone 或 {'left', 'right', 'top', 'bottom'}

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

orientationNone 或 {'vertical', 'horizontal'}

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

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)。

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' 使空间与数据间隔成比例。

备注

注意

这是 pyplot 封装器,用于 Figure.colorbar

如果 mappable 是一个 ContourSet,其 extend kwarg 将自动包含在内。

shrink kwarg 提供了一种简单的方法来相对于 Axes 缩放颜色条。请注意,如果指定了 cax,它将决定颜色条的大小,而 shrinkaspect 将被忽略。

为了更精确的控制,您可以手动指定绘制 mappable 和颜色条的 axes 对象的位置。在这种情况下,不要使用任何 Axes 属性 kwarg。

已知一些矢量图形查看器(svg 和 pdf)在颜色条段之间渲染白色间隙。这是由于查看器中的错误,而不是 Matplotlib。作为一种变通方法,可以使用重叠段渲染颜色条

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

然而,这在其他情况下会产生负面影响,例如半透明图像(alpha < 1)和颜色条扩展;因此,默认情况下不使用此变通方法(参见问题 #1188)。

使用 matplotlib.pyplot.colorbar 的示例#

坐标轴分隔器

坐标轴分隔器

颜色条

颜色条

从颜色列表创建色彩映射

从颜色列表创建色彩映射

等高线演示

等高线演示

等高线图像

等高线图像

填充等高线演示

填充等高线演示

填充等高线图案

填充等高线图案

填充等高线和对数颜色刻度

填充等高线和对数颜色刻度

带注释的热力图

带注释的热力图

带掩码值的图像

带掩码值的图像

多个图像带一个颜色条

多个图像带一个颜色条

pcolor 图像

pcolor 图像

pcolormesh

pcolormesh

三角等高线演示

三角等高线演示

椭圆集合

椭圆集合

使用 LineCollection 绘制多条线

使用 LineCollection 绘制多条线

子图间距和边距

子图间距和边距

颜色条刻度标签

颜色条刻度标签

图片教程

图片教程

紧凑布局指南

紧凑布局指南