当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python matplotlib Figure.colorbar用法及代码示例


本文简要介绍 python 语言中 matplotlib.figure.Figure.colorbar 的用法。

用法

colorbar(mappable, cax=None, ax=None, use_gridspec=True, **kwargs)

在绘图中添加颜色条。

参数
mappable

此颜色条说明的 matplotlib.cm.ScalarMappable (即 AxesImage ContourSet 等)。此参数对于 Figure.colorbar 方法是必需的,但对于 pyplot.colorbar 函数是可选的,该函数将默认值设置为当前图像。

请注意,可以创建 ScalarMappable "on-the-fly" 来生成未附加到先前绘制的艺术家的颜色条,例如

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

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

ax Axes 或可迭代或 numpy.ndarray 轴,可选

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

默认为包含用于创建颜色条的可映射的轴。

use_gridspec 布尔型,可选

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

返回
colorbar Colorbar
其他参数
location 无或 {'left', 'right', 'top', 'bottom'}

创建颜色条轴的位置,相对于父轴。它还确定颜色条的orientation(左右颜色条是垂直的,顶部和底部的颜色条是水平的)。如果没有,如果设置了位置,则位置将来自orientation(右侧的垂直颜色条,底部的水平颜色条),如果未设置orientation,则默认为'right'。

orientation 无或 {'vertical', 'horizontal'}

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

fraction 浮点数,默认值:0.15

用于颜色条的原始轴的分数。

shrink 浮点数,默认值:1.0

与颜色条大小相乘的分数。

aspect 浮点数,默认:20

长尺寸与短尺寸的比率。

pad 浮点数,默认:0.05 如果垂直,0.15 如果水平

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

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

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

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

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

extend {'neither', 'both', 'min', 'max'}

对于超出范围的值,请使用尖头(除非'neither')。这些是使用颜色图 set_under 和 set_over 方法为给定颜色图设置的。

extendfrac { None , 'auto', 长度, 长度}

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

如果设置为 'auto',则使三角形颜色条延伸与内部框的长度相同(当 spacing 设置为 'uniform' 时),或与各个相邻内部框的长度相同(当 spacing 设置为'proportional')。

如果是标量,则指示最小和最大三角形颜色条延伸的长度作为内部颜色条长度的一部分。还可以给出分数的二元素序列,分别指示最小和最大颜色条延伸的长度作为内部颜色条长度的分数。

extendrect bool

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

spacing {'uniform', 'proportional'}

对于离散颜色条( BoundaryNorm 或轮廓),'uniform' 为每种颜色提供相同的空间; 'proportional'使空间与数据间隔成正比。

ticks 无或刻度列表或定位器

如果无,则根据输入自动确定刻度。

format 无或 str 或格式化程序

如果无,则使用 ScalarFormatter 。支持格式字符串,例如 "%4.2e""{x:.2e}" 。可以替代地给出替代的 Formatter

drawedges bool

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

label str

颜色条长轴上的标签。

boundaries, values 无或序列

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

注意

如果 mappable ContourSet ,则自动包含其 extend kwarg。

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

要进行更精确的控制,您可以手动指定绘制可映射对象和颜色条的坐标区对象的位置。在这种情况下,不要使用任何轴属性 kwargs。

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

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

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

相关用法


注:本文由纯净天空筛选整理自skytowner.com大神的英文原创作品 matplotlib.figure.Figure.colorbar。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。