matplotlib.cm
¶
内置颜色映射、颜色映射处理实用程序和 ScalarMappable
混合蛋白。
参见
颜色映射参考 以获取内置颜色映射的列表。
在Matplotlib中创建颜色映射 以获取如何制作颜色贴图的示例。
在Matplotlib中选择颜色映射 关于选择彩色地图的深入讨论。
颜色映射规范化 有关数据规范化的更多详细信息。
-
class
matplotlib.cm.
ScalarMappable
(norm=None, cmap=None)[源代码]¶ 基类:
object
将标量数据映射到RGBA的mixin类。
ScalarMappable在从给定的colormap返回RGBA颜色之前应用数据规范化。
参数: - norm :
matplotlib.colors.Normalize
(或其子类)matplotlib.colors.Normalize(或其子类) 标准化对象,用于将数据按一定比例缩放到间隔中
[0, 1]
.如果 None , norm 默认为 colors.Normalize 对象,该对象根据处理的第一个数据初始化其缩放。- cmap STR或
Colormap
str或 用于将规范化数据值映射到rgba颜色的颜色映射。
-
colorbar
¶ 与此scalarmapable关联的最后一个颜色条。可能没有。
-
set_clim
(vmin=None, vmax=None)[源代码]¶ 设置图像缩放的标准限制。
参数: - VMN,Vmax浮动
极限。
这些限制也可以作为元组传递( vmin , vmax )作为一个位置参数。
-
set_norm
(norm)[源代码]¶ 设置规范化实例。
参数: - norm :
Normalize
或无正常化或无
笔记
如果有任何colorbar使用此规范的可映射,则设置可映射的规范会将colorbar上的norm、locator和formatters重置为默认值。
- norm :
-
to_rgba
(x, alpha=None, bytes=False, norm=True)[源代码]¶ 返回对应于 x .
在正常情况下, x 是一个一维或二维的scalar序列,将根据此scalarmapable的norm和colormap集返回相应的rgba值的ndarray。
有一种特殊情况,用于处理已经是rgb或rgba的图像,例如从图像文件读取的图像。如果 x 是一个具有3个维度的ndarray,最后一个维度是3或4,那么它将被视为一个rgb或rgba数组,并且不会进行任何映射。数组可以是uint8,也可以是值在0-1范围内的浮点;否则将引发valueerror。如果是屏蔽数组,则将忽略该屏蔽。如果最后一个维度是3,则 阿尔法 Kwarg(默认为1)将用于填写透明度。如果最后一个维度是4,则 阿尔法 Kwarg被忽略;它不会取代现有的alpha。如果第三个维度不是3或4,则会引发ValueError。
无论哪种情况,如果 字节 是 假 (默认),rgba数组将在0-1范围内浮动;如果是 True ,返回的rgba数组将在0到255范围内为uint8。
如果norm为false,则不执行输入数据的规范化,并假定它在范围(0-1)内。
-
property
update_dict
¶
- norm :
-
matplotlib.cm.
get_cmap
(name=None, lut=None)[源代码]¶ 获取一个colormap实例,默认为rc值,如果 name 一个也没有。
添加了彩色地图
register_cmap()
优先于内置颜色映射。参数: - name :
matplotlib.colors.Colormap
或str或None,默认值:Nonematplotlib.colors.Colormap或str或None,默认值:None 如果A
Colormap
实例,它将被返回。否则,Matplotlib已知的颜色映射的名称,将由 lut . 默认值None表示rcParams["image.cmap"]
(default:'viridis'
) .- lutint或None,默认值:None
如果 name 不是Colormap实例,并且 lut 不是“无”,则颜色贴图将重新采样为 lut 查找表中的条目。
笔记
目前,这将返回全局colormap对象,该对象已弃用。在Matplotlib 3.5中,您将无法再修改全局颜色映射。
- name :
-
matplotlib.cm.
register_cmap
(name=None, cmap=None, data=None, lut=None)[源代码]¶ 将颜色映射添加到由识别的集合
get_cmap()
.它有两种用途:
register_cmap(name='swirly', cmap=swirly_cmap) register_cmap(name='choppy', data=choppydata, lut=128)
在第一种情况下, cmap 必须是
matplotlib.colors.Colormap
实例。这个 name 是可选的;如果不存在,名称将是name
的属性 cmap .第二种情况已被否决。这里,这三个参数被传递给
LinearSegmentedColormap
初始化器,并注册生成的颜色映射。创建一个LinearSegmentedColormap
第一个用例:register_cmap(cmap=LinearSegmentedColormap(name, data, lut))
.笔记
注册colormap存储对colormap对象的引用,该对象当前可以被修改,并且可以无意中更改全局colormap状态。此行为已被弃用,在Matplotlib 3.5中,注册的colormap将是不可变的。