matplotlib.axes.Axes.pcolor#
- Axes.pcolor(*args, shading=None, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, colorizer=None, data=None, **kwargs)[源代码]#
创建一个带有非规则矩形网格的伪彩色图。
调用签名
pcolor([X, Y,] C, /, **kwargs)
X 和 Y 可用于指定四边形的角点。
参数 X、Y、C 仅限位置参数。
提示
pcolor()
对于大型数组可能非常慢。在大多数情况下,您应该使用类似但快得多的pcolormesh
。有关差异的讨论,请参阅 pcolor() 和 pcolormesh() 之间的区别。- 参数:
- C二维数组型
颜色映射值。颜色映射由 *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。有关详细信息,请参阅下面的“注释”部分。
如果
shading='flat'
,*X* 和 *Y* 的维度应比 *C* 的维度大一,四边形将根据C[i, j]
的值着色。如果 *X*、*Y* 和 *C* 具有相同的维度,将发出警告,并且 *C* 的最后一行和列将被忽略。如果
shading='nearest'
,*X* 和 *Y* 的维度应与 *C* 的维度相同(否则将引发 ValueError)。颜色C[i, j]
将以(X[i, j], Y[i, j])
为中心。如果 *X* 和/或 *Y* 是 1 维数组或列向量,它们将根据需要扩展为相应的 2D 数组,形成一个矩形网格。
- shading{'flat', 'nearest', 'auto'},默认值:
rcParams["pcolor.shading"]
(默认值:'auto'
) 四边形的填充样式。可能的值:
'flat':每个四边形使用纯色填充。四边形 (i, j)、(i+1, j)、(i, j+1)、(i+1, j+1) 的颜色由
C[i, j]
给出。*X* 和 *Y* 的维度应比 *C* 的维度大一;如果它们与 *C* 相同,则会发出弃用警告,并丢弃 *C* 的最后一行和列。'nearest':每个网格点都将有一个以其为中心的颜色,颜色范围延伸到相邻网格中心之间的一半距离。*X* 和 *Y* 的维度必须与 *C* 相同。
'auto':如果 *X* 和 *Y* 的维度比 *C* 大一,则选择 'flat'。如果维度相同,则选择 'nearest'。
有关更多说明,请参阅 pcolormesh 网格和着色。
- cmap字符串或
Colormap
,默认值:rcParams["image.cmap"]
(默认值:'viridis'
) 用于将标量数据映射到颜色的颜色映射实例或已注册的颜色映射名称。
- norm字符串或
Normalize
,可选 在采用 cmap 映射颜色之前,用于将标量数据缩放到 [0, 1] 范围的归一化方法。默认情况下,使用线性缩放,将最低值映射到 0,最高值映射到 1。
如果给定,可以是以下之一
一个刻度名称,例如“linear”、“log”、“symlog”、“logit”等。有关可用刻度的列表,请调用
matplotlib.scale.get_scale_names()
。在这种情况下,将动态生成并实例化一个合适的Normalize
子类。
- vmin, vmax浮点型,可选
当使用标量数据且没有显式 *norm* 时,*vmin* 和 *vmax* 定义了颜色映射所覆盖的数据范围。默认情况下,颜色映射覆盖所提供数据的完整值范围。在给定 *norm* 实例时使用 *vmin*/*vmax* 是错误的(但将字符串 *norm* 名称与 *vmin*/*vmax* 一起使用是可接受的)。
- colorizer
Colorizer
或 None,默认值: None 用于将颜色映射到数据的 Colorizer 对象。如果为 None,则从 norm 和 cmap 创建一个 Colorizer 对象。
- edgecolors{'none', None, 'face', color, color sequence},可选
边缘的颜色。默认为 'none'。可能的值:
'none' 或 '':无边缘。
*None*:将使用
rcParams["patch.edgecolor"]
(默认值:'black'
)。请注意,目前rcParams["patch.force_edgecolor"]
(默认值:False
)必须为 True 才能使其生效。'face':使用相邻面颜色。
一种颜色或颜色序列将设置边缘颜色。
单数形式 *edgecolor* 作为别名使用。
- alpha浮点数,默认值: None
面颜色的 alpha 混合值,介于 0(透明)和 1(不透明)之间。注意:边缘颜色目前不受此影响。
- snap布尔型,默认值: False
是否将网格对齐到像素边界。
- 返回:
- 其他参数:
- antialiaseds布尔型,默认值: False
如果使用默认的 *edgecolors*="none",则默认 *antialiaseds* 为 False。这消除了补丁边界处的人工线条,并且无论 alpha 值如何都有效。如果 *edgecolors* 不为 "none",则默认 *antialiaseds* 取自
rcParams["patch.antialiased"]
(默认值:True
)。如果 *alpha* 为 1,则可能首选描边边缘,否则会产生伪影。- data可索引对象,可选
如果给出,所有参数也接受一个字符串
s
,如果s
是data
中的键,则将其解释为data[s]
。- **kwargs
此外,允许以下参数。它们被传递给
PolyQuadMesh
构造函数:属性
描述
一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量
类数组或浮点数或 None
布尔值
antialiased
oraa
orantialiaseds
布尔值或布尔值列表
类数组或 None
CapStyle
或 {'butt', 'projecting', 'round'}(vmin: 浮点数, vmax: 浮点数)
BboxBase
或 None布尔值
Patch 或 (Path, Transform) 或 None
Colormap
或 字符串 或 None颜色 或 RGBA 元组列表
edgecolor
orec
oredgecolors
facecolor
orfacecolors
orfc
字符串
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
未知
布尔值
JoinStyle
或 {'miter', 'round', 'bevel'}对象
linestyle
ordashes
orlinestyles
orls
字符串或元组或其列表
linewidth
orlinewidths
orlw
浮点数或浮点数列表
布尔值
Normalize
或 字符串 或 None(N, 2) 或 (2,) 类数组
类数组列表
None 或 布尔值 或 浮点数 或 可调用对象
浮点数
布尔值
sizes
numpy.ndarray
或 None(scale: 浮点数, length: 浮点数, randomness: 浮点数)
布尔值或 None
字符串
urls
类数组列表
未知
布尔值
浮点数
另请参阅
pcolormesh
解释了 pcolor 和 pcolormesh 之间的区别。
imshow
如果 *X* 和 *Y* 彼此等距,
imshow
可以是一个更快的替代方案。
备注
掩码数组
*X*、*Y* 和 *C* 可以是掩码数组。如果
C[i, j]
或围绕C[i, j]
的某个顶点(*X* 或 *Y* 在[i, j], [i+1, j], [i, j+1], [i+1, j+1]
)被掩码,则不绘制任何内容。网格方向
网格方向遵循标准矩阵约定:形状为 (nrows, ncolumns) 的数组 *C* 将以列号作为 *X* 坐标,行号作为 *Y* 坐标进行绘制。