matplotlib.figure.SubFigure.colorbar#
- SubFigure.colorbar(mappable, cax=None, ax=None, use_gridspec=True, **kwargs)[源代码]#
为绘图添加颜色条。
- 参数:
- 可映射
matplotlib.cm.ScalarMappable`(即 `.AxesImage
、ContourSet
等)由这个颜色条描述。这个参数对于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, 可选
如果 cax 是
None
,则创建一个新的 cax 作为 Axes 的实例。如果 ax 使用 subplotspec 定位并且 use_gridspec 是True
,那么 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方法为给定颜色映射设置的。
- 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()
)或其他不寻常的情况有用。
注释
如果 mappable 是一个
ContourSet
,它的 extend kwarg 会自动包含。shrink
关键字参数提供了一种简单的方法来相对于轴缩放颜色条。请注意,如果指定了cax
,它将决定颜色条的大小,而shrink
和aspect
将被忽略。为了更精确的控制,你可以手动指定绘制可映射对象和颜色条的轴对象的位置。在这种情况下,不要使用任何轴属性关键字参数。
众所周知,一些矢量图形查看器(svg 和 pdf)在颜色条的段之间渲染白色间隙。这是由于查看器中的错误,而不是 Matplotlib 的问题。作为一种解决方法,颜色条可以渲染为重叠的段:
cbar = colorbar() cbar.solids.set_edgecolor("face") draw()
然而,在其他情况下,这会产生负面后果,例如在半透明图像(alpha < 1)和颜色条扩展的情况下;因此,默认情况下不使用此解决方法(参见问题 #1188)。