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
- cmap : str 或
- 返回:
- 颜色映射
- 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 颜色之前应用数据归一化。
- 参数:
- colorbar#
与此 ScalarMappable 关联的最后一个颜色条。可能为 None。
- get_array()[源代码][源代码]#
返回映射到颜色的值数组。
基类
ScalarMappable不对数组的维度及形状做任何假设。
- property norm#
!! 由 numpydoc 处理 !!
- set_array(A)[源代码][源代码]#
从类似数组的对象 A 中设置值数组。
- 参数:
- A类数组或无
映射到颜色的值。
基类
ScalarMappable不对值数组 A 的维度和形状做任何假设。
- set_clim(vmin=None, vmax=None)[源代码][源代码]#
设置图像缩放的规范限制。
- 参数:
- vmin, vmax浮动
限制。
限制也可以作为元组 (vmin, vmax) 作为单个位置参数传递。
- set_norm(norm)[源代码][源代码]#
设置归一化实例。
- 参数:
- norm :
Normalize或 str 或 None标准化或字符串或无
- norm :
注释
如果存在使用此规范的 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。在任何情况下,如果 bytes 为 False*(默认),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()代替。