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)
X和Y可用于指定四边形的角。
暗示
pcolormesh
类似于pcolor
。在大多数情况下,它更快且更受欢迎。有关差异的详细讨论,请参阅pcolor() 和 pcolormesh() 之间的差异。- 参数:
- C 2D 类数组
颜色映射的值。颜色映射由cmap、 norm、vmin和vmax控制。
- 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。有关详细信息,请参阅下面的 注释部分。
如果X和Y
shading='flat'
的尺寸应该比C的尺寸大一,并且四边形由于 的值而被着色。如果X,Y和C具有相同的尺寸,则会发出警告,并且C的最后一行和最后一列将被忽略。C[i, j]
如果
shading='nearest'
或'gouraud'
,则X 和Y的尺寸应该与C的尺寸相同(如果不是,则会引发 ValueError )。因为'nearest'
颜色以 为中心。对于,在四边形角之间进行平滑插值。C[i, j]
(X[i, j], Y[i, j])
'gouraud'
如果X和/或Y是一维数组或列向量,它们将根据需要扩展为适当的二维数组,形成一个矩形网格。
- cmap str 或
Colormap
,默认值:(rcParams["image.cmap"]
默认值'viridis'
:) 用于将标量数据映射到颜色的颜色图实例或注册的颜色图名称。
- 范数str 或
Normalize
, 可选 在使用cmap映射到颜色之前,用于将标量数据缩放到 [0, 1] 范围的标准化方法。默认情况下,使用线性缩放,将最小值映射到 0,将最大值映射到 1。
如果给出,这可以是以下之一:
一个实例
Normalize
或其子类之一(请参阅Colormap Normalization)。刻度名称,即“linear”、“log”、“symlog”、“logit”等之一。有关可用刻度的列表,请调用
matplotlib.scale.get_scale_names()
。Normalize
在这种情况下,会动态生成并实例化一个合适的子类。
- vmin, vmax浮点数,可选
当使用标量数据且没有明确的norm时,vmin和vmax定义颜色图覆盖的数据范围。默认情况下,颜色图覆盖所提供数据的完整值范围。给定范数实例时使用vmin / vmax是错误的 (但可以接受将范数 名称与vmin / vmax一起使用)。
str
- edgecolors {'none', None, 'face', color, color sequence}, 可选
边缘的颜色。默认为“无”。可能的值:
“无”或“”:没有优势。
无:(
rcParams["patch.edgecolor"]
默认值:)'black'
将被使用。请注意,当前rcParams["patch.force_edgecolor"]
(默认值False
:)必须为 True 才能正常工作。'face':使用相邻的面颜色。
颜色或颜色序列将设置边缘颜色。
单数形式edgecolor用作别名。
- alpha浮点数,默认值:无
Alpha 混合值,介于 0(透明)和 1(不透明)之间。
- 着色{'flat', 'nearest', 'gouraud', 'auto'}, 可选
四边形的填充样式;默认为“flat”或
rcParams["pcolor.shading"]
(默认值:)'auto'
。可能的值:'flat':每个四边形使用纯色。四边形 (i, j), (i+1, j), (i, j+1), (i+1, j+1) 的颜色由 给出 。X和Y的尺寸应该比C的尺寸大一;如果它们与C相同,则会引发弃用警告,并删除C的最后一行和最后一列。
C[i, j]
'nearest':每个网格点都会有一个颜色以它为中心,在相邻网格中心之间延伸一半。X和Y的尺寸必须与C相同。
'gouraud':每个四边形将被 Gouraud 着色:角 (i', j') 的颜色由 给出。中间区域的颜色值是从角值内插的。X和Y的尺寸必须与C相同。当使用 Gouraud 着色时,edgecolors被忽略。
C[i', j']
'auto':如果X和Y的尺寸比C大一,则选择 'flat' 。如果尺寸相同,请选择“最近”。
有关更多描述,请参阅pcolormesh 网格和阴影 。
- snap bool,默认值:False
是否将网格捕捉到像素边界。
- 光栅化布尔值,可选
绘制矢量图形时光栅化 pcolormesh。这可以加快渲染速度并为大型数据集生成更小的文件。另请参阅矢量图形的光栅化。
- 返回:
- 其他参数:
- 数据可索引对象,可选
如果给定,所有参数也接受一个字符串
s
,它被解释为data[s]
(除非这引发异常)。- **kwargs
此外,允许使用以下参数。它们被传递给
QuadMesh
构造函数:财产
描述
一个过滤器函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和距图像左下角的两个偏移量
类数组或标量或无
布尔
antialiased
或 aa 或抗锯齿布尔或布尔列表
(M, N) 类数组或 M*N 类数组
CapStyle
或 {'butt', 'projecting', 'round'}(vmin:浮动,vmax:浮动)
布尔
补丁或(路径,变换)或无
Colormap
或 str 或 无rgba 元组的颜色或列表
edgecolor
或 ec 或 edgecolors颜色或颜色列表或“脸”
facecolor
或 facecolors 或 fc颜色或颜色列表
字符串
{'/'、'\'、'|'、'-'、'+'、'x'、'o'、'O'、'.'、'*'}
布尔
JoinStyle
或 {'miter', 'round', 'bevel'}目的
linestyle
或破折号或线条样式或 lsstr 或元组或其列表
linewidth
或线宽或lw浮动或浮动列表
布尔
Normalize
或 str 或 无offset_transform
或 transOffset未知
(N, 2) 或 (2,) 类数组
None 或 bool 或 float 或可调用
未知
布尔
(比例:浮动,长度:浮动,随机性:浮动)
布尔或无
字符串
str 或 None 的列表
布尔
漂浮
也可以看看
pcolor
具有略微不同功能的替代实现。有关差异的详细讨论,请参阅pcolor() 和 pcolormesh() 之间的差异。
imshow
如果X和Y都是等距的,
imshow
则可以是更快的选择。
笔记
掩码数组
C可以是掩码数组。如果被遮蔽,则对应的四边形将是透明的。不支持屏蔽X和Y。如果您需要此功能,请使用。
C[i, j]
pcolor
网格方向
网格方向遵循标准矩阵约定: 绘制形状为 (nrows, ncolumns) 的数组C ,列号为X,行号为Y。
pcolor() 和 pcolormesh() 的区别
这两种方法都用于使用四边形创建二维数组的伪彩色图。
主要区别在于创建的对象和内部数据处理:虽然
pcolor
返回 aPolyCollection
,但pcolormesh
返回 aQuadMesh
。后者更专业于给定目的,因此速度更快。它几乎总是首选。掩码数组的处理也略有不同。两者都
pcolor
支持pcolormesh
C 的掩码数组。但是,仅pcolor
支持X 和Y的掩码数组。原因在于掩码值的内部处理。pcolor
从 PolyCollection 中省略相应的多边形。pcolormesh
将蒙面元素的 facecolor 设置为透明。您可以在使用边缘颜色时看到差异。尽管在 QuadMesh 中绘制了所有边而不考虑蒙版,但pcolor
由于 PolyCollection 中不存在相应的多边形,因此不会绘制两个相邻蒙版四边形之间的边。另一个区别是对 Gouraud 阴影的支持
pcolormesh
,而pcolor
.