matplotlib.figure.SubFigure.colorbar#

SubFigure.colorbar(mappable, cax=None, ax=None, use_gridspec=True, **kwargs)[源代码]#

为绘图添加颜色条。

参数:
可映射

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

请注意,可以“即时”创建一个 ScalarMappable 来生成不附加到先前绘制的艺术家的颜色条,例如

fig.colorbar(cm.ScalarMappable(norm=norm, cmap=cmap), ax=ax)
cax : Axes, 可选Axes,可选

颜色条将被绘制到的轴。如果为 None,则创建一个新的轴,并且其空间将从 ax 中指定的轴中窃取。

ax : Axes 或可迭代对象或 Axes 的 numpy.ndarray,可选可选的轴或可迭代对象或轴的numpy.ndarray

一个或多个父 Axes,从中将为新的颜色条 Axes 窃取空间。仅当未设置 cax 时,才使用此参数。

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

use_gridspecbool, 可选

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

返回:
colorbar颜色条
其他参数:
位置None 或 {'left', 'right', 'top', 'bottom'}

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

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

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

分数浮点数, 默认值: 0.15

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

缩小float, 默认值: 1.0

颜色条大小乘以的分数。

方面float, 默认值: 20

长宽比。

填充float, 默认值: 如果垂直则为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)。

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

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

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())或其他不寻常的情况有用。

注释

如果 mappable 是一个 ContourSet,它的 extend kwarg 会自动包含。

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

为了更精确的控制,你可以手动指定绘制可映射对象和颜色条的轴对象的位置。在这种情况下,不要使用任何轴属性关键字参数。

众所周知,一些矢量图形查看器(svg 和 pdf)在颜色条的段之间渲染白色间隙。这是由于查看器中的错误,而不是 Matplotlib 的问题。作为一种解决方法,颜色条可以渲染为重叠的段:

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

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

使用 matplotlib.figure.SubFigure.colorbar 的示例#

图子图

Figure subfigures