matplotlib.pyplot.pcolormesh#

matplotlib.pyplot.pcolormesh(*args, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, shading=None, antialiased=False, data=None, **kwargs)[源代码][源代码]#

创建一个带有非规则矩形网格的伪彩色图。

调用签名:

pcolormesh([X, Y,] C, /, **kwargs)

XY 可以用来指定四边形的角。

参数 X, Y, C 是仅位置的。

提示

pcolormesh 类似于 pcolor。它在大多数情况下更快且更受欢迎。有关差异的详细讨论,请参见 pcolor() 和 pcolormesh() 之间的差异

参数:
C类似数组

网格数据。支持的数组形状有:

  • (M, N) 或 M*N: 一个带有标量数据的网格。这些值通过归一化和颜色映射映射到颜色。参见参数 normcmapvminvmax

  • (M, N, 3): 一张带有RGB值(0-1浮点数或0-255整数)的图像。

  • (M, N, 4): 一张包含RGBA值(0-1浮点数或0-255整数)的图像,即包括透明度。

前两个维度 (M, N) 定义了网格数据的行和列。

X, Y类数组, 可选

pcolormesh 的四边形角点的坐标:

(X[i+1, j], Y[i+1, j])       (X[i+1, j+1], Y[i+1, j+1])
                      ●╶───╴●
                      │     │
                      ●╶───╴●
    (X[i, j], Y[i, j])       (X[i, j+1], Y[i, j+1])

请注意,列索引对应于x坐标,行索引对应于y坐标。详情请参见下面的 注释 部分。

如果 shading='flat'XY 的维度应比 C 的维度大一,并且四边形的颜色由 C[i, j] 处的值决定。如果 XYC 具有相同的维度,将发出警告,并且 C 的最后一行和最后一列将被忽略。

如果 shading='nearest''gouraud'XY 的维度应与 C 的维度相同(否则将引发 ValueError)。对于 'nearest',颜色 C[i, j](X[i, j], Y[i, j]) 为中心。对于 'gouraud',在四边形的角之间进行平滑插值。

如果 X 和/或 Y 是 1-D 数组或列向量,它们将根据需要扩展为适当的 2D 数组,形成一个矩形网格。

cmap : str 或 Colormap,默认值: rcParams["image.cmap"] (default: 'viridis')str 或

用于将标量数据映射为颜色的 Colormap 实例或已注册的 colormap 名称。

norm : str 或 Normalize, 可选str 或

在将标量数据映射到颜色之前,用于将标量数据缩放到 [0, 1] 范围的归一化方法。默认情况下,使用线性缩放,将最低值映射为 0,最高值映射为 1。

如果提供,这可以是以下之一:

vmin, vmaxfloat, 可选

在使用标量数据且未明确指定 norm 时,vminvmax 定义了颜色映射覆盖的数据范围。默认情况下,颜色映射覆盖所提供数据的完整值范围。当给定 norm 实例时,使用 vmin/vmax 是错误的(但使用 str norm 名称与 vmin/vmax 一起是可接受的)。

edgecolors{'none', None, 'face', color, color sequence}, 可选

边的颜色。默认为 'none'。可能的值:

单数形式 edgecolor 作为别名使用。

alphafloat, 默认值: None

阿尔法混合值,介于 0(透明)和 1(不透明)之间。

着色{'flat', 'nearest', 'gouraud', 'auto'}, 可选

四边形的填充样式;默认为 rcParams["pcolor.shading"] (default: 'auto')。可能的值:

  • 'flat': 每个四边形使用一种纯色。四边形 (i, j), (i+1, j), (i, j+1), (i+1, j+1) 的颜色由 C[i, j] 给出。XY 的维度应比 C 的维度大一;如果它们与 C 相同,则会引发一个弃用警告,并丢弃 C 的最后一行和最后一列。

  • 'nearest': 每个网格点将有一个以其为中心的颜色,延伸到相邻网格中心之间的一半。XY 的维度必须与 C 相同。

  • 'gouraud': 每个四边形将使用 Gouraud 着色:角落的颜色 (i', j') 由 C[i', j'] 给出。区域内的颜色值从角落值插值得到。XY 的维度必须与 C 相同。当使用 Gouraud 着色时,edgecolors 被忽略。

  • 'auto': 如果 XY 的维度比 C 大一,则选择 'flat'。如果维度相同,则选择 'nearest'。

更多描述请参见 pcolormesh 网格和阴影

快照bool, 默认值: False

是否将网格对齐到像素边界。

栅格化bool, 可选

在绘制矢量图形时栅格化 pcolormesh。这可以加快渲染速度,并为大型数据集生成更小的文件。另请参阅 矢量图形的栅格化

返回:
matplotlib.collections.QuadMesh
其他参数:
数据可索引对象,可选

如果提供,所有参数也接受一个字符串 s,如果 sdata 中的一个键,则它被解释为 data[s]

**kwargs

此外,允许以下参数。它们被传递给 QuadMesh 构造函数:

属性

描述

agg_filter

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

alpha

类数组或标量或无

animated

布尔

抗锯齿 或 aa 或 antialiaseds

布尔值或布尔值列表

数组

类似数组

capstyle

CapStyle 或 {'butt', 'projecting', 'round'}

clim

(vmin: float, vmax: float)

clip_box

BboxBase 或 None

clip_on

布尔

clip_path

补丁或(路径,变换)或无

cmap

Colormap 或 str 或 None

颜色

color 或 RGBA 元组列表

edgecolor 或 ec 或 edgecolors

colorcolor 列表 或 'face'

facecolor 或 facecolors 或 fc

colorcolor 列表

figure

FigureSubFigure

gid

str

hatch

{'/', '', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

in_layout

布尔

joinstyle

JoinStyle 或 {'miter', 'round', 'bevel'}

标签

对象

线条样式 或虚线或线条样式或 ls

str 或 tuple 或其列表

linewidth 或 linewidths 或 lw

浮点数或浮点数列表

鼠标悬停

布尔

norm

Normalize 或 str 或 None

offset_transform 或 transOffset

Transform

偏移量

(N, 2) 或 (2,) 数组类

path_effects

AbstractPathEffect 列表

picker

None 或 bool 或 float 或 callable

pickradius

浮动

光栅化

布尔

sketch_params

(scale: float, length: float, randomness: float)

snap

布尔值或无

transform

Transform

url

str

urls

list of str or None

可见

布尔

zorder

浮动

参见

pcolor

一个具有略微不同特性的替代实现。有关差异的详细讨论,请参见 pcolor() 和 pcolormesh() 之间的差异

imshow

如果 XY 每个都是等距的,imshow 可以是一个更快的替代方案。

注释

备注

这是 axes.Axes.pcolormeshpyplot 封装

掩码数组

C 可能是一个掩码数组。如果 C[i, j] 被掩码,相应的四边形将是透明的。不支持对 XY 的掩码。如果需要此功能,请使用 pcolor

网格方向

网格方向遵循标准矩阵约定:形状为 (nrows, ncolumns) 的数组 C 以列号为 X 轴,行号为 Y 轴绘制。

pcolor() 和 pcolormesh() 的区别

这两种方法都用于使用四边形创建二维数组的伪彩色图。

主要区别在于创建的对象和内部数据处理:虽然 pcolor 返回一个 PolyQuadMeshpcolormesh 返回一个 QuadMesh。后者更专门用于给定的目的,因此速度更快。它几乎总是应该被优先选择。

在处理掩码数组时也有细微的差别。pcolorpcolormesh 都支持 C 的掩码数组。然而,只有 pcolor 支持 XY 的掩码数组。原因在于内部处理掩码值的方式。pcolor 从 PolyQuadMesh 中省略了相应的多边形。pcolormesh 将掩码元素的面颜色设置为透明。在使用边缘颜色时可以看到差异。虽然 QuadMesh 中的所有边缘都绘制,无论是否掩码,但在 pcolor 中,两个相邻掩码四边形之间的边缘不会绘制,因为相应的多边形在 PolyQuadMesh 中不存在。由于 PolyQuadMesh 绘制每个单独的多边形,它还支持将阴影和线条样式应用于集合。

另一个区别是 pcolormesh 支持 Gouraud 着色,而 pcolor 不支持。

使用 matplotlib.pyplot.pcolormesh 的示例#

pcolor 图像

pcolor images

pcolormesh 网格和阴影

pcolormesh grids and shading

pcolormesh

pcolormesh

QuadMesh 演示

QuadMesh Demo

时间序列直方图

Time Series Histogram

矢量图形的栅格化

Rasterization for vector graphics