matplotlib.cm
#
内置颜色图、颜色图处理实用程序和ScalarMappable
mixin。
也可以看看
在 Matplotlib中创建颜色图以获取如何制作颜色图的示例。
在 Matplotlib中选择颜色图是对选择颜色图的深入讨论。
Colormap Normalization有关数据规范化的更多详细信息。
- 类 matplotlib.cm。ColormapRegistry ( cmaps ) [来源] #
基地:
Mapping
按名称为 Matplotlib 所知的颜色图的容器。
实验性的
虽然我们希望 API 是最终的,但我们正式将其标记为 3.5 的实验性,因为我们希望保留在需要时仍为 3.6 调整 API 的选项。
通用注册表实例是
matplotlib.colormaps
. 用户应该不需要实例化ColormapRegistry
自己。读取访问使用类似 dict 的接口将名称映射到
Colormap
s: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 颜色之前应用数据规范化。
- 参数:
- 颜色条#
与此 ScalarMappable 关联的最后一个颜色条。可能是无。
- get_array ( ) [来源] #
返回映射到颜色的值数组。
基类
ScalarMappable
不对数组的维度和形状做任何假设。
- 属性 规范#
- set_array ( A ) [来源] #
从类似数组的A中设置值数组。
- 参数:
- 类数组或无
映射到颜色的值。
基类
ScalarMappable
不对值数组A的维度和形状做任何假设。
- set_clim ( vmin = None , vmax = None ) [来源] #
设置图像缩放的标准限制。
- 参数:
- vmin, vmax浮点数
极限。
限制也可以作为元组(vmin,vmax)作为单个位置参数传递。
- set_norm ( norm ) [来源] #
设置规范化实例。
- 参数:
- norm
Normalize
或 str 或 None
- norm
笔记
如果有任何颜色条使用该规范的可映射,设置可映射的规范会将颜色条上的规范、定位器和格式化程序重置为默认值。
- 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。
在任何一种情况下,如果bytes为False(默认),则 rgba 数组将在 0-1 范围内浮动;如果为True,则返回的 rgba 数组将是 0 到 255 范围内的 uint8。
如果 norm 为 False,则不执行输入数据的归一化,并假定它在 (0-1) 范围内。
- matplotlib.cm。get_cmap ( name = None , lut = None ) [source] #
[已弃用]获取颜色图实例,如果名称为 None,则默认为 rc 值。
- 参数:
- name
matplotlib.colors.Colormap
或 str 或 None,默认值:None 如果是一个
Colormap
实例,它将被返回。否则,Matplotlib 已知的颜色图的名称,将由lut重新采样。默认值 None 表示rcParams["image.cmap"]
(默认值:'viridis'
)。- lut int 或无,默认值:无
如果name还不是 Colormap 实例且lut不是 None,则颜色图将被重新采样以在查找表中具有lut条目。
- name
- 返回:
- 颜色图
笔记
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'
)如果不存在,名称将是cmap
name
的 属性。- 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)
。