matplotlib.cm#

内置色图、色图处理工具,以及 ScalarMappable 混合类。

参见

色图参考 查看内置色图列表。

在 Matplotlib 中创建 Colormap 提供了如何制作颜色映射的示例。

在 Matplotlib 中选择颜色表 关于选择色图的深入讨论。

颜色映射归一化 以获取有关数据标准化的更多详细信息。

class matplotlib.cm.ColormapRegistry(cmaps)[源代码][源代码]#

基类:Mapping

包含 Matplotlib 已知名称的 colormap 的容器。

通用注册表实例是 matplotlib.colormaps。用户无需自行实例化 ColormapRegistry

读取访问使用类似字典的接口,将名称映射到 Colormaps:

import matplotlib as mpl
cmap = mpl.colormaps['viridis']

返回的 Colormap 是副本,因此它们的修改不会改变颜色映射的全局定义。

可以通过 ColormapRegistry.register 添加额外的色图:

mpl.colormaps.register(my_colormap)

要获取所有已注册的颜色映射列表,您可以执行:

from matplotlib import colormaps
list(colormaps)
get_cmap(cmap)[源代码][源代码]#

返回通过 cmap 指定的颜色映射。

参数:
cmap : str 或 Colormap 或 Nonestr 或
  • 如果是一个 Colormap,则返回它

  • 如果是字符串,则在 mpl.colormaps 中查找它

  • 如果为 None,则返回在 rcParams["image.cmap"] (default: 'viridis') 中定义的 Colormap

返回:
颜色映射
register(cmap, *, name=None, force=False)[源代码][源代码]#

注册一个新的色图。

然后,可以将色图名称用作 Matplotlib 中任何 cmap 参数的字符串参数。它也可以在 pyplot.get_cmap 中使用。

颜色映射注册表存储了给定颜色映射的副本,因此对原始颜色映射实例的未来更改不会影响已注册的颜色映射。可以将其视为注册表在注册时对颜色映射进行了一次快照。

参数:
cmapmatplotlib.colors.Colormap

要注册的色图。

名称str, 可选

颜色映射的名称。如果未指定,则使用 cmap.name

强制bool, 默认: False

如果为 False,尝试覆盖已注册的名称时会引发 ValueError。True 支持覆盖除内置色图之外的已注册色图。

unregister(name)[源代码][源代码]#

从注册表中移除一个颜色映射。

您无法移除内置的颜色映射表。

如果指定的颜色映射未注册,则无错误返回,如果尝试取消注册默认颜色映射,则会引发错误。

警告

当前,色图名称是一个可能被多个包共享的命名空间。只有在您确定之前已经注册了该名称时,才使用 unregister。特别是,不要为了在注册新色图之前清理名称而随意取消注册。

参数:
名称str

要移除的 colormap 的名称。

引发:
ValueError

如果你尝试移除一个默认的内置颜色映射。

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

基类:object

一个将标量数据映射到 RGBA 的混合类。

ScalarMappable 在从给定的颜色映射返回 RGBA 颜色之前应用数据归一化。

参数:
norm : Normalize (或其子类) 或 str 或 NoneNormalize(或其子类)或 str 或 None

用于缩放数据的规范化对象,通常将其缩放到区间 [0, 1]。如果是一个 str,则会根据相应名称动态生成一个 Normalize 子类。如果为 None,则 norm 默认为一个 colors.Normalize 对象,该对象根据处理的第一批数据初始化其缩放。

cmap : str 或 Colormapstr 或

用于将归一化数据值映射到 RGBA 颜色的颜色映射。

autoscale()[源代码][源代码]#

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

autoscale_None()[源代码][源代码]#

使用当前数组自动缩放范数实例上的标量限制,仅更改值为 None 的限制。

changed()[源代码][源代码]#

每当可映射对象发生变化时调用此函数,以通知所有监听 'changed' 信号的回调SM监听器。

colorbar#

与此 ScalarMappable 关联的最后一个颜色条。可能为 None。

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

总是返回 1。

get_array()[源代码][源代码]#

返回映射到颜色的值数组。

基类 ScalarMappable 不对数组的维度及形状做任何假设。

get_clim()[源代码][源代码]#

返回映射到颜色图限制的值(最小值,最大值)。

get_cmap()[源代码][源代码]#

返回 Colormap 实例。

property norm#

!! 由 numpydoc 处理 !!

set_array(A)[源代码][源代码]#

从类似数组的对象 A 中设置值数组。

参数:
A类数组或无

映射到颜色的值。

基类 ScalarMappable 不对值数组 A 的维度和形状做任何假设。

set_clim(vmin=None, vmax=None)[源代码][源代码]#

设置图像缩放的规范限制。

参数:
vmin, vmax浮动

限制。

限制也可以作为元组 (vmin, vmax) 作为单个位置参数传递。

set_cmap(cmap)[源代码][源代码]#

设置亮度数据的色图。

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

设置归一化实例。

参数:
norm : Normalize 或 str 或 None标准化或字符串或无

注释

如果存在使用此规范的 mappable 的颜色条,设置 mappable 的规范将重置颜色条上的规范、定位器和格式化器为默认值。

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

返回与 x 对应的归一化 RGBA 数组。

在正常情况下,x 是一个一维或二维的标量序列,将根据为该 ScalarMappable 设置的范数和颜色映射返回相应的 ndarray 的 RGBA 值。

有一种特殊情况,用于处理已经是RGB或RGBA的图像,例如可能从图像文件中读取的图像。如果 x 是一个 ndarray 且具有3个维度,并且最后一个维度是3或4,那么它将被视为RGB或RGBA数组,并且不会进行映射。数组可以是 uint8,或者可以是值在0-1范围内的浮点数;否则将引发ValueError。任何NaN或掩码元素都将被设置为0的alpha值。如果最后一个维度是3,则 alpha kwarg(默认为1)将用于填充透明度。如果最后一个维度是4,则 alpha kwarg 将被忽略;它不会替换预先存在的alpha。如果第三个维度不是3或4,将引发ValueError。

在任何情况下,如果 bytesFalse*(默认),RGBA 数组将是 0-1 范围内的浮点数;如果为 *True,返回的 RGBA 数组将是 uint8 类型的 0 到 255 范围内的数值。

如果 norm 为 False,则不对输入数据进行归一化处理,并假定其范围为 (0-1)。

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

[已弃用] 获取一个颜色映射实例,如果 name 为 None,则默认为 rc 值。

参数:
名称 : Colormap 或 str 或 None, 默认: NoneColormap 或 str 或 None, 默认: None

如果是一个 Colormap 实例,将返回它。否则,将返回一个 Matplotlib 已知的色图名称,该色图将由 lut 重新采样。默认值 None 表示 rcParams["image.cmap"] (default: 'viridis')。

lutint 或 None, 默认: None

如果 name 还不是 Colormap 实例且 lut 不为 None,则会将色图重新采样,使其在查找表中具有 lut 个条目。

返回:
颜色映射

注释

自 3.7 版本弃用: 使用 matplotlib.colormaps[name]matplotlib.colormaps.get_cmap()pyplot.get_cmap() 代替。