matplotlib.cm

内置颜色映射、颜色映射处理实用程序和 ScalarMappable 混合蛋白。

参见

颜色映射参考 以获取内置颜色映射的列表。

在Matplotlib中创建颜色映射 以获取如何制作颜色贴图的示例。

在Matplotlib中选择颜色映射 关于选择彩色地图的深入讨论。

颜色映射规范化 有关数据规范化的更多详细信息。

class matplotlib.cm.ScalarMappable(norm=None, cmap=None)[源代码]

基类:object

将标量数据映射到RGBA的mixin类。

ScalarMappable在从给定的colormap返回RGBA颜色之前应用数据规范化。

参数:
normmatplotlib.colors.Normalize (或其子类)matplotlib.colors.Normalize(或其子类)

标准化对象,用于将数据按一定比例缩放到间隔中 [0, 1] .如果 Nonenorm 默认为 colors.Normalize 对象,该对象根据处理的第一个数据初始化其缩放。

cmap STR或 Colormapstr或

用于将规范化数据值映射到rgba颜色的颜色映射。

add_checker(checker)[源代码]

[Deprecated]

笔记

3.3 版后已移除:

autoscale()[源代码]

使用当前数组自动缩放Norm实例上的标量限制

autoscale_None()[源代码]

使用当前数组自动缩放Norm实例上的标量限制,只更改非的限制

changed()[源代码]

每当mappable被更改时调用此函数,以将“changed”信号通知所有callbackSM侦听器。

check_update(checker)[源代码]

[Deprecated]

笔记

3.3 版后已移除:

colorbar

与此scalarmapable关联的最后一个颜色条。可能没有。

get_alpha()[源代码]
返回:
浮动

总是返回1。

get_array()[源代码]

返回数据数组。

get_clim()[源代码]

返回映射到colormap限制的值(最小值、最大值)。

get_cmap()[源代码]

返回 Colormap 实例。

set_array(A)[源代码]

从numpy数组设置图像数组 A .

参数:
A恩达雷
set_clim(vmin=None, vmax=None)[源代码]

设置图像缩放的标准限制。

参数:
VMN,Vmax浮动

极限。

这些限制也可以作为元组传递( vminvmax )作为一个位置参数。

set_cmap(cmap)[源代码]

设置亮度数据的颜色贴图。

参数:
cmapColormap 或str或NoneColormap或str或None
set_norm(norm)[源代码]

设置规范化实例。

参数:
normNormalize 或无正常化或无

笔记

如果有任何colorbar使用此规范的可映射,则设置可映射的规范会将colorbar上的norm、locator和formatters重置为默认值。

to_rgba(x, alpha=None, bytes=False, norm=True)[源代码]

返回对应于 x .

在正常情况下, x 是一个一维或二维的scalar序列,将根据此scalarmapable的norm和colormap集返回相应的rgba值的ndarray。

有一种特殊情况,用于处理已经是rgb或rgba的图像,例如从图像文件读取的图像。如果 x 是一个具有3个维度的ndarray,最后一个维度是3或4,那么它将被视为一个rgb或rgba数组,并且不会进行任何映射。数组可以是uint8,也可以是值在0-1范围内的浮点;否则将引发valueerror。如果是屏蔽数组,则将忽略该屏蔽。如果最后一个维度是3,则 阿尔法 Kwarg(默认为1)将用于填写透明度。如果最后一个维度是4,则 阿尔法 Kwarg被忽略;它不会取代现有的alpha。如果第三个维度不是3或4,则会引发ValueError。

无论哪种情况,如果 字节 (默认),rgba数组将在0-1范围内浮动;如果是 True ,返回的rgba数组将在0到255范围内为uint8。

如果norm为false,则不执行输入数据的规范化,并假定它在范围(0-1)内。

property update_dict
matplotlib.cm.get_cmap(name=None, lut=None)[源代码]

获取一个colormap实例,默认为rc值,如果 name 一个也没有。

添加了彩色地图 register_cmap() 优先于内置颜色映射。

参数:
namematplotlib.colors.Colormap 或str或None,默认值:Nonematplotlib.colors.Colormap或str或None,默认值:None

如果A Colormap 实例,它将被返回。否则,Matplotlib已知的颜色映射的名称,将由 lut . 默认值None表示 rcParams["image.cmap"] (default: 'viridis') .

lutint或None,默认值:None

如果 name 不是Colormap实例,并且 lut 不是“无”,则颜色贴图将重新采样为 lut 查找表中的条目。

笔记

目前,这将返回全局colormap对象,该对象已弃用。在Matplotlib 3.5中,您将无法再修改全局颜色映射。

matplotlib.cm.register_cmap(name=None, cmap=None, data=None, lut=None)[源代码]

将颜色映射添加到由识别的集合 get_cmap() .

它有两种用途:

register_cmap(name='swirly', cmap=swirly_cmap)

register_cmap(name='choppy', data=choppydata, lut=128)

在第一种情况下, cmap 必须是 matplotlib.colors.Colormap 实例。这个 name 是可选的;如果不存在,名称将是 name 的属性 cmap .

第二种情况已被否决。这里,这三个参数被传递给 LinearSegmentedColormap 初始化器,并注册生成的颜色映射。创建一个 LinearSegmentedColormap 第一个用例: register_cmap(cmap=LinearSegmentedColormap(name, data, lut)) .

笔记

注册colormap存储对colormap对象的引用,该对象当前可以被修改,并且可以无意中更改全局colormap状态。此行为已被弃用,在Matplotlib 3.5中,注册的colormap将是不可变的。

matplotlib.cm.revcmap(data)[源代码]

[Deprecated] 只能处理规格 data 字典格式。

笔记

3.2 版后已移除.