matplotlib.axes.Axes.pcolormesh#

Axes.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 名称。

toctree 是一个 reStructuredText 的 指令,是一种非常通用的标记。指令可以有参数、选项和内容。str 或

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

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

vmin, vmaxfloat, 可选

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

边缘颜色{'none', None, 'face', color, color sequence}, 可选

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

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

alphafloat, 默认值: None

alpha 混合值,介于 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

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

光栅化布尔值,可选

在绘制矢量图形时栅格化 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: 浮点数, vmax: 浮点数)

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 可以是一个更快的替代方案。

注释

掩码数组

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.axes.Axes.pcolormesh 的示例#

pcolor 图像

pcolor images

pcolormesh 网格和阴影

pcolormesh grids and shading

pcolormesh

pcolormesh

QuadMesh 演示

QuadMesh Demo

图子图

Figure subfigures

时间序列直方图

Time Series Histogram

矢量图形的栅格化

Rasterization for vector graphics

pcolormesh(X, Y, Z)

pcolormesh(X, Y, Z)

约束布局指南

Constrained layout guide

放置颜色条

Placing colorbars

在 Matplotlib 中创建 Colormap

Creating Colormaps in Matplotlib

颜色映射归一化

Colormap normalization