matplotlib.cm#

内置颜色图、颜色图处理实用程序和ScalarMappablemixin。

也可以看看

内置颜色图列表的颜色图参考

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

在 Matplotlib中选择颜色图是对选择颜色图的深入讨论。

Colormap Normalization有关数据规范化的更多详细信息。

matplotlib.cm。ColormapRegistry ( cmaps ) [来源] #

基地:Mapping

按名称为 Matplotlib 所知的颜色图的容器。

实验性的

虽然我们希望 API 是最终的,但我们正式将其标记为 3.5 的实验性,因为我们希望保留在需要时仍为 3.6 调整 API 的选项。

通用注册表实例是matplotlib.colormaps. 用户应该不需要实例化ColormapRegistry自己。

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

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

返回Colormap的 s 是副本,因此它们的修改不会更改颜色图的全局定义。

可以通过以下方式添加其他颜色图ColormapRegistry.register

mpl.colormaps.register(my_colormap)
register ( cmap , * , name = None , force = False ) [source] #

注册一个新的颜色图。

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

颜色图注册表存储给定颜色图的副本,以便将来对原始颜色图实例的更改不会影响已注册的颜色图。将此视为注册表在注册时拍摄颜色图的快照。

参数
cmap matplotlib.colors.Colormap

要注册的颜色图。

名称str,可选

颜色图的名称。如果未给出,cmap.name则使用。

强制布尔,默认值:False

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

注销名称[来源] #

从注册表中删除颜色图。

您无法删除内置颜色图。

如果指定的颜色图未注册,则返回没有错误,如果您尝试取消注册默认颜色图,则会引发。

警告

颜色图名称当前是一个共享命名空间,可以被多个包使用。unregister仅当您知道以前注册过该名称时才使用。特别是,不要取消注册,以防在注册新颜色图之前清除名称。

参数
名称str

要删除的颜色图的名称。

提高
值错误

如果您尝试删除默认的内置颜色图。

matplotlib.cm。ScalarMappable ( norm = None , cmap = None ) [source] #

基地:object

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

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

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

将数据缩放到区间的标准化对象。如果 a ,则根据具有相应名称的比例动态生成子类。如果Nonenorm默认为colors.Normalize对象,该对象根据处理的第一个数据初始化其缩放。[0, 1]strNormalize

cmap str 或Colormap

用于将标准化数据值映射到 RGBA 颜色的颜色图。

自动缩放( ) [来源] #

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

autoscale_None ( ) [来源] #

使用当前数组自动缩放规范实例的标量限制,仅更改无限制

属性 回调SM [来源] #
已更改( ) [来源] #

每当可映射对象更改时调用此函数,以通知所有 callbackSM 侦听器“已更改”信号。

颜色条#

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

get_alpha ( ) [来源] #
返回
漂浮

总是返回 1。

get_array ( ) [来源] #

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

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

get_clim ( ) [来源] #

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

get_cmap ( ) [来源] #

返回Colormap实例。

属性 规范#
set_array ( A ) [来源] #

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

参数
数组或无

映射到颜色的值。

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

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

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

参数
vmin, vmax浮点数

极限。

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

set_cmap ( cmap ) [来源] #

设置亮度数据的颜色图。

参数
cmapColormap或 str 或 None
set_norm ( norm ) [来源] #

设置规范化实例。

参数
normNormalize或 str 或 None

笔记

如果有任何颜色条使用该规范的可映射,设置可映射的规范会将颜色条上的规范、定位器和格式化程序重置为默认值。

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

返回对应于x的标准化 rgba 数组。

在正常情况下,x是 1D 或 2D 标量序列,并且将根据为此 ScalarMappable 设置的规范和颜色图返回相应的 rgba 值的 ndarray。

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

在任何一种情况下,如果bytesFalse(默认),则 rgba 数组将在 0-1 范围内浮动;如果为True,则返回的 rgba 数组将是 0 到 255 范围内的 uint8。

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

matplotlib.cm。get_cmap ( name = None , lut = None ) [source] #

[已弃用]获取颜色图实例,如果名称为 None,则默认为 rc 值。

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

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

lut int 或无,默认值:无

如果name还不是 Colormap 实例且lut不是 None,则颜色图将被重新采样以在查找表中具有lut条目。

返回
颜色图

笔记

3.6 版后已弃用:改为使用matplotlib.colormaps[name]

matplotlib.cm。register_cmap ( name = None , cmap = None , * , override_builtin = False ) [source] #

[已弃用] 将颜色图添加到由get_cmap().

注册要按名称访问的新颜色图

LinearSegmentedColormap('swirly', data, lut)
register_cmap(cmap=swirly_cmap)
参数
名称str,可选

可以在get_cmap()or中使用的名称rcParams["image.cmap"](默认值:'viridis'

如果不存在,名称将是cmapname的 属性。

cmap matplotlib.colors.Colormap

尽管是第二个参数并具有默认值,但这是一个必需的参数。

override_builtin布尔值

允许用户提供的颜色图覆盖内置颜色图。

除非您确定需要它,否则请不要使用它。

笔记

3.6 版后已弃用:改为使用matplotlib.colormaps.register(name)

matplotlib.cm。unregister_cmap ( name ) [source] #

[已弃用] 删除由get_cmap().

您不能删除内置颜色图。

如果指定的颜色图未注册,则返回没有错误,如果您尝试取消注册默认颜色图,则会引发。

警告

颜色图名称当前是一个共享命名空间,可以被多个包使用。unregister_cmap仅当您知道以前注册过该名称时才使用。特别是,不要取消注册,以防在注册新颜色图之前清除名称。

参数
名称str

要取消注册的颜色图的名称

返回
颜色映射或无

如果颜色图已注册,则返回它,如果不返回None

提高
值错误

如果您尝试取消注册默认的内置颜色图。

笔记

3.6 版后已弃用:改为使用matplotlib.colormaps.unregister(name)