matplotlib.colorizer#

Colorizer 类通过归一化和颜色映射处理数据到颜色的转换管线。

colorizer 的临时状态

此文件中的 colorizer 模块和类被视为临时性质,可能随时更改,恕不另行通知(无弃用期)。

另请参阅

颜色映射参考,查看内置颜色映射列表。

在 Matplotlib 中创建颜色映射,查看如何制作颜色映射的示例。

在 Matplotlib 中选择颜色映射,深入探讨如何选择颜色映射。

颜色映射归一化,了解数据归一化的更多细节。

class matplotlib.colorizer.Colorizer(cmap=None, norm=None)[source]#

基类: object

数据到颜色的转换管线。

此管线可通过 Colorizer.to_rgba 访问,并通过 Colorizer.normColorizer.cmap 属性执行。

参数:
cmap: colorbar.Colorbar 或 str 或 None,默认值: None

用于为数据着色的颜色映射。

norm: colors.Normalize 或 str 或 None,默认值: None

用于归一化数据的归一化方式

autoscale(A)[source]#

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

autoscale_None(A)[source]#

使用当前数组自动缩放 norm 实例上的标量限制,仅更改为 None 的限制

changed()[source]#

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

property clip#
property cmap#
get_clim()[source]#

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

property norm#
set_clim(vmin=None, vmax=None)[source]#

设置图像缩放的 norm 限制。

参数:
vmin, vmax浮点数

这些限制。

这些限制也可以作为单个位置参数,以元组 (vmin, vmax) 的形式传递。

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

返回与 x 对应的标准化 RGBA 数组。

在正常情况下,*x* 是一个一维或二维标量序列,将根据此 Colorizer 设置的归一化和颜色映射返回相应的 RGBA 值 ndarray

有一种特殊情况,用于处理已经是 RGB 或 RGBA 格式的图像,例如可能从图像文件中读取的图像。如果 *x* 是一个三维 ndarray,并且最后一维是 3 或 4,则它将被视为 RGB 或 RGBA 数组,不会进行任何映射。该数组可以是 uint8,也可以是值在 0-1 范围内的浮点数;否则将引发 ValueError。任何 NaN 或被遮罩的元素都将设置为 0 透明度(alpha)。如果最后一维是 3,alpha 关键字参数(默认为 1)将用于填充透明度。如果最后一维是 4,则 alpha 关键字参数将被忽略;它不会替换预先存在的透明度。如果第三维不是 3 或 4,将引发 ValueError。

在任一情况下,如果 bytesFalse(默认),RGBA 数组将是 0-1 范围内的浮点数;如果为 True,返回的 RGBA 数组将是 0-255 范围内的 uint8 类型。

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

property vmax#
property vmin#
class matplotlib.colorizer.ColorizingArtist(colorizer, **kwargs)[source]#

基类:_ScalarMappable, Artist

使用 colorizer.Colorizer 将数据映射到颜色的 artists 的基类。

colorizer.Colorizer 在从 Colormap 返回 RGBA 颜色之前,会应用数据归一化。

参数:
colorizercolorizer.Colorizer
property colorizer#
draw(renderer)[source]#

使用给定的渲染器绘制 Artist(及其子对象)。

如果 artist 不可见(Artist.get_visible 返回 False),则此操作无效。

参数:
rendererRendererBase 子类。

备注

此方法在 Artist 子类中被覆盖。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, array=<UNSET>, clim=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, cmap=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, norm=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

支持的属性包括:

属性

描述

agg_filter

一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量

alpha

浮点数或 None

animated

布尔值

array

类数组或 None

clim

(vmin: 浮点数, vmax: 浮点数)

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

cmap

Colormap 或 str 或 None

figure

FigureSubFigure

gid

str

in_layout

布尔值

label

object

mouseover

布尔值

norm

Normalize 或 str 或 None

path_effects

AbstractPathEffect 列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

zorder

浮点数

class matplotlib.colorizer._ColorizerInterface[source]#

基类: object

包含从 ColorizingArtistcm.ScalarMappableColorizer 对象接口的基类。

注意:此类别仅包含与 `.colorizer` 属性交互的函数。`ColorizingArtist` 和 `cm.ScalarMappable` 之间共享的其他函数不包括在内。

autoscale()[source]#

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

autoscale_None()[source]#

使用当前数组自动缩放 norm 实例上的标量限制,仅更改为 None 的限制

property cmap#
property colorbar#

与此对象关联的最后一个颜色条。可能为 None

get_alpha()[source]#
get_clim()[source]#

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

get_cmap()[source]#

返回 Colormap 实例。

property norm#
set_clim(vmin=None, vmax=None)[source]#

设置图像缩放的 norm 限制。

参数:
vmin, vmax浮点数

这些限制。

对于标量数据,限制也可以作为单个位置参数以元组 (vmin, vmax) 的形式传递。

set_cmap(cmap)[source]#

为亮度数据设置色图。

参数:
cmapColormap 或 str 或 None
set_norm(norm)[source]#

设置归一化实例。

参数:
normNormalize 或 str 或 None

备注

如果存在任何颜色条使用此 norm 的可映射对象,则设置可映射对象的 norm 将把颜色条上的 norm、定位器和格式化程序重置为默认值。

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

返回与 x 对应的标准化 RGBA 数组。

在正常情况下,*x* 是一个一维或二维标量序列,将根据此 Colorizer 设置的归一化和颜色映射返回相应的 RGBA 值 ndarray

有一种特殊情况,用于处理已经是 RGB 或 RGBA 格式的图像,例如可能从图像文件中读取的图像。如果 *x* 是一个三维 ndarray,并且最后一维是 3 或 4,则它将被视为 RGB 或 RGBA 数组,不会进行任何映射。该数组可以是 uint8,也可以是值在 0-1 范围内的浮点数;否则将引发 ValueError。任何 NaN 或被遮罩的元素都将设置为 0 透明度(alpha)。如果最后一维是 3,alpha 关键字参数(默认为 1)将用于填充透明度。如果最后一维是 4,则 alpha 关键字参数将被忽略;它不会替换预先存在的透明度。如果第三维不是 3 或 4,将引发 ValueError。

在任一情况下,如果 bytesFalse(默认),RGBA 数组将是 0-1 范围内的浮点数;如果为 True,返回的 RGBA 数组将是 0-255 范围内的 uint8 类型。

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

class matplotlib.colorizer._ScalarMappable(norm=None, cmap=None, *, colorizer=None, **kwargs)[source]#

基类:_ColorizerInterface

一个混合类,用于将一个或多个标量数据集映射到 RGBA。

ScalarMappable 在从给定 Colormap 返回 RGBA 颜色之前,会应用数据归一化。

参数:
normNormalize(或其子类)或 str 或 None

归一化对象,用于缩放数据,通常缩放到 [0, 1] 区间。如果是 str,则会根据具有相应名称的刻度动态生成 Normalize 子类。如果是 Nonenorm 默认为 `colors.Normalize` 对象,该对象根据第一个处理的数据初始化其缩放。

cmapstr 或 Colormap

用于将归一化数据值映射到 RGBA 颜色的颜色映射。

changed()[source]#

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

get_array()[source]#

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

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

set_array(A)[source]#

从类数组 A 设置值数组。

参数:
A类数组或 None

映射到颜色的值。

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