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


Python matplotlib colorbar用法及代码示例


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

用法

matplotlib.pyplot.colorbar(mappable=None, cax=None, ax=None, **kw)

在绘图中添加颜色条。

参数

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 ,可选

将在其中绘制颜色条的轴。

ax Axes ,轴列表,可选

如果cax 为无,则一个或多个父轴将从中窃取新颜色条轴的空间。如果设置了cax,这将无效。

use_gridspec 布尔型,可选

如果 caxNone ,则会创建一个新的 cax 作为 Axes 的实例。如果 ax 是 Subplot 的实例并且 use_gridspecTrue ,则 cax 使用 gridspec 模块创建为 Subplot 的实例。

返回

colorbar Colorbar

注意

附加的关键字参数有两种:

轴属性:

地点无或 {'left', 'right', 'top', 'bottom'}

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

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

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

分数浮点数,默认值:0.15

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

收缩浮点数,默认值:1.0

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

方面浮点数,默认:20

长尺寸与短尺寸的比率。

软填充浮点数,默认:0.05 如果垂直,0.15 如果水平

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

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

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

潘乔尔(浮点数,浮点数)或 False ,可选

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

颜色栏属性:

属性

说明

extend

{'neither', 'both', 'min', 'max'} 如果不是'neither',则为超出范围的值设置尖端。这些是使用颜色图set_under 和set_over 方法为给定的颜色图设置的。

extendfrac

{ None , 'auto', length, lengths} 如果设置为 None ,最小和最大三角形颜色条扩展的长度都是内部颜色条长度的 5%(这是默认设置)。如果设置为'auto',则使三角形颜色条扩展与内部框的长度相同(当spacing设置为'uniform'时)或与相应的相邻内部框相同的长度(当spacing设置为'proportional')。如果是标量,则将最小和最大三角形颜色条扩展的长度表示为内部颜色条长度的一部分。也可以给出分数的二元素序列,分别指示最小和最大颜色条扩展的长度作为内部颜色条长度的一部分。

extendrect

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

spacing

{'uniform', 'proportional'} 均匀的间距给每个离散的颜色相同的空间;比例使空间与数据间隔成比例。

ticks

None 或刻度列表或定位器 如果没有,刻度将根据输入自动确定。

format

None 或 str 或 Formatter 如果 None,则使用 ScalarFormatter 。如果给出了格式字符串,例如 '%.3f',则使用该格式字符串。可以改为使用替代 Formatter

drawedges

bool 是否在颜色边界处画线。

label

str 颜色条长轴上的标签。

以下内容可能仅在索引颜色的上下文中有用(即,当可映射对象具有 norm=NoNorm() 时)或其他异常情况。

属性

说明

boundaries

无或序列

values

无或长度必须比 boundaries 的序列小 1 的序列。对于由 boundaries 中的相邻条目分隔的每个区域,将使用映射到 values 中相应值的颜色映射。

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

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

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

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

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

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

相关用法


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