matplotlib.cm#
内置色彩映射表 (colormaps)、色彩映射表处理工具以及 ScalarMappable 混入类 (mixin)。
另请参阅
色彩映射表参考,列出了所有内置色彩映射表。
在 Matplotlib 中创建色彩映射表,介绍了如何制作色彩映射表的示例。
在 Matplotlib 中选择色彩映射表,深入讨论如何选择色彩映射表。
色彩映射表归一化,了解关于数据归一化的更多详情。
- class matplotlib.cm.ColormapRegistry(cmaps)[source]#
基类:
Mapping已知 Matplotlib 命名的色彩映射容器。
全局注册表实例为
matplotlib.colormaps。用户通常无需自行实例化ColormapRegistry。读取访问使用类字典接口,将名称映射到
Colormapimport matplotlib as mpl cmap = mpl.colormaps['viridis']
返回的
Colormap是副本,因此对它们的修改不会改变色彩映射表的全局定义。可以通过
ColormapRegistry.register添加额外的色彩映射表。mpl.colormaps.register(my_colormap)
要获取所有注册色彩映射的列表,您可以执行以下操作:
from matplotlib import colormaps list(colormaps)
- get_cmap(cmap)[source]#
返回通过 cmap 指定的色彩映射表。
- 参数:
- cmapstr 或
Colormap或 None 如果为
Colormap,则直接返回它如果为字符串,则在
mpl.colormaps中查找如果为 None,则返回
rcParams["image.cmap"]中定义的色彩映射表(默认:'viridis')
- cmapstr 或
- 返回:
- Colormap
- register(cmap, *, name=None, force=False)[source]#
注册一个新的色彩映射表。
注册后,该色彩映射表名称可用作 Matplotlib 中任何
cmap参数的字符串参数。它也可在pyplot.get_cmap中使用。色彩映射表注册表会存储给定色彩映射表的副本,因此未来对原始色彩映射表实例的更改不会影响已注册的色彩映射表。可以将其视为注册表在注册时对色彩映射表进行了一次快照。
- 参数:
- cmapmatplotlib.colors.Colormap
要注册的色彩映射表。
- namestr, 可选
色彩映射表的名称。如果未指定,则使用
cmap.name。- forcebool,默认:False
如果为 False,则在尝试覆盖已注册名称时会引发 ValueError。True 支持覆盖除内置色彩映射表以外的已注册色彩映射表。
- unregister(name)[source]#
从注册表中移除一个色彩映射表。
不能移除内置的色彩映射表。
如果指定的色彩映射表未注册,则直接返回且不报错;如果尝试注销默认色彩映射表,则会引发错误。
警告
色彩映射表名称目前是一个共享命名空间,可能被多个包使用。仅当确定之前注册过该名称时才使用
unregister。特别注意,不要为了清理名称而盲目注销。- 参数:
- namestr
要移除的色彩映射表的名称。
- 引发:
- ValueError
如果尝试移除默认的内置色彩映射表。
- class matplotlib.cm.ScalarMappable(colorizer, **kwargs)[source]#
-
- property colorbar#
与此对象关联的最后一个颜色条。可能为 None。
- get_array()[source]#
返回映射到颜色的值数组。
基类
ScalarMappable不对数组的维度和形状做任何假设。
- property norm#
- set_array(A)[source]#
从类数组 A 设置值数组。
- 参数:
- A类数组或 None
映射到颜色的值。
基类
ScalarMappable不对值数组 A 的维度和形状做任何假设。
- set_clim(vmin=None, vmax=None)[source]#
设置图像缩放的 norm 限制。
- 参数:
- vmin, vmax浮点数
这些限制。
对于标量数据,限制也可以作为单个位置参数以元组 (vmin, vmax) 的形式传递。
- set_norm(norm)[source]#
设置归一化实例。
- 参数:
- norm
Normalize或 str 或 None
- norm
备注
如果存在任何颜色条使用此 norm 的可映射对象,则设置可映射对象的 norm 将把颜色条上的 norm、定位器和格式化程序重置为默认值。
- to_rgba(x, alpha=None, bytes=False, norm=True)[source]#
返回与 x 对应的标准化 RGBA 数组。
在正常情况下,x 是标量的一维或二维序列,并将基于为此 Colorizer 设置的归一化(norm)和颜色映射(colormap)返回相应的 RGBA 值的
ndarray。有一种特殊情况,用于处理已经是 RGB 或 RGBA 的图像,例如从图像文件读取的图像。如果 x 是具有 3 个维度的
ndarray,且最后一个维度为 3 或 4,则它将被视为 RGB 或 RGBA 数组,并且不会执行映射。数组可以是uint8,也可以是 0-1 范围内的浮点数;否则将引发 ValueError。任何 NaN 或掩码元素将被设置为 0 alpha。如果最后一个维度为 3,则 alpha 参数(默认为 1)将用于填充透明度。如果最后一个维度为 4,则忽略 alpha 参数;它不会替换预先存在的 alpha。如果第三个维度不是 3 或 4,则会引发 ValueError。无论哪种情况,如果 bytes 为 False(默认值),返回的 RGBA 数组将是 0-1 范围内的浮点数;如果是 True,返回的 RGBA 数组将是 0 到 255 范围内的
uint8。如果 norm 为 False,则不执行输入数据的归一化,并假定其范围为 (0-1)。