matplotlib.axes.Axes.contourf #

轴。contourf ( * args , data = None , ** kwargs ) [来源] #

绘制填充轮廓。

来电签名:

contourf([X, Y,] Z, [levels], **kwargs)

contourcontourf分别绘制等高线和填充等高线。除非另有说明,两个版本的函数签名和返回值是相同的。

参数
X, Y类数组,可选

Z中值的坐标。

XY必须都是二维的,具有与Z相同的形状(例如通过 创建numpy.meshgrid),或者它们必须都是一维的,即Z中的列数和 Z中的行数。len(X) == Nlen(Y) == M

XY都必须单调排序。

如果未给出,则假定它们是整数索引, 即。X = range(N)Y = range(M)

Z (M, N) 类数组

绘制轮廓的高度值。颜色映射由cmapnormvminvmax控制。

级别int 或类似数组,可选

确定等高线/区域的数量和位置。

如果是 int n,请使用,它会尝试在vminvmaxMaxNLocator之间自动选择不超过n+1 个“nice”等高线级别。

如果类似数组,则在指定级别绘制等高线。这些值必须按升序排列。

返回
QuadContourSet
其他参数
corner_mask布尔值,默认值:(rcParams["contour.corner_mask"]默认值True:)

启用/禁用角掩蔽,仅当Z是掩蔽数组时才有效。如果False,则任何接触遮罩点的四边形都会被遮盖。如果True,只有最接近这些点的四边形的三角形角总是被屏蔽掉,其他由三个未屏蔽点组成的三角形角像往常一样被轮廓化。

颜色颜色字符串或颜色序列,可选

级别的颜色,即 的线contour和 的区域contourf

该序列按升序循环用于各个级别。如果序列比级别数短,则重复。

作为一种捷径,可以使用单一颜色字符串来代替单元素列表,即'red'代替['red']用相同颜色为所有级别着色。此快捷方式仅适用于颜色字符串,不适用于其他指定颜色的方式。

默认情况下(值None), 将使用cmap指定的颜色图。

alpha浮点数,默认值:1

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

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

用于将标量数据映射到颜色的颜色图实例或注册的颜色图名称。

如果设置了颜色,则忽略此参数。

范数str 或Normalize, 可选

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

如果给出,这可以是以下之一:

如果设置了颜色,则忽略此参数。

vmin, vmax浮点数,可选

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

如果未给出vminvmax,则默认颜色缩放基于 级别

如果设置了颜色,则忽略此参数。

origin { None , 'upper', 'lower', 'image'}, 默认值:无

通过指定 的位置来确定Z的方向和准确位置。这仅 在未给出XY的情况下才有意义。Z[0, 0]

  • :在左下角的 X=0,Y=0 处。Z[0, 0]

  • 'lower':位于左下角的 X=0.5,Y=0.5 处。Z[0, 0]

  • 'upper':在左上角的X=N+0.5,Y=0.5处。Z[0, 0]

  • 'image':使用来自rcParams["image.origin"](默认值:)的值'upper'

范围(x0,x1,y0,y1),可选

如果origin不是None,则extent被解释为 in imshow:它给出了外部像素边界。在这种情况下,Z[0, 0] 的位置是像素的中心,而不是角落。如果 originNone,则 ( x0 , y0 ) 为 Z[0, 0] 的位置,( x1 , y1 ) 为 Z[-1, -1] 的位置。

如果在对轮廓的调用中指定了XY ,则忽略此参数。

locator ticker.Locator 子类,可选

如果未通过levels明确给出,则定位器用于确定轮廓级别。默认为MaxNLocator.

扩展{'neither', 'both', 'min', 'max'},默认值:'neither'

确定级别范围contourf之外的值 的着色。

如果“两者都不是”,则级别范围之外的值不着色。如果是“min”、“max”或“both”,则为低于、高于或低于和高于水平范围的值着色。

低于min(levels)和高于max(levels)的值映射到 的低于/高于 的值Colormap。请注意,默认情况下,大多数颜色图没有专门的颜色,因此上值和下值是颜色图的边缘值。您可能希望使用 Colormap.set_under和显式设置这些值Colormap.set_over

笔记

QuadContourSet如果更改其颜色图的属性,则不会通知现有的。QuadContourSet.changed()因此,修改颜色图后需要显式调用。如果将颜色条分配给 ,则可以省略显式调用,QuadContourSet因为它在内部调用 QuadContourSet.changed().

例子:

x = np.arange(1, 10)
y = x.reshape(-1, 1)
h = x * y

cs = plt.contourf(h, levels=[10, 30, 50],
    colors=['#808080', '#A0A0A0', '#C0C0C0'], extend='both')
cs.cmap.set_over('red')
cs.cmap.set_under('blue')
cs.changed()
xunits, yunits注册单位,可选

通过指定 a 的实例来覆盖轴单位 matplotlib.units.ConversionInterface

抗锯齿布尔,可选

启用抗锯齿,覆盖默认值。对于填充轮廓,默认值为True。对于线轮廓,它取自rcParams["lines.antialiased"](默认值:)True

nchunk int >= 0,可选

如果为 0,则不细分域。指定一个正整数以将域划分为nchunk四边形的子域。分块减少了轮廓算法生成的多边形的最大长度,从而减少了传递到后端的渲染工作量,并且需要的 RAM 也略少。然而,它可以根据后端、抗锯齿标志和alpha的值在块边界引入渲染伪影。

线宽浮动或类似数组,默认:(rcParams["contour.linewidth"]默认None:)

仅适用于 contour

等高线的线宽。

如果是数字,则所有级别都将使用此线宽绘制。

如果是一个序列,将按照指定的顺序绘制升序级别的线宽。

如果没有,这将回退到rcParams["lines.linewidth"](默认值:)1.5

线条样式{, 'solid', 'dashed', ' dashdot ', 'dotted'}, 可选

仅适用于 contour

如果linestylesNone,则默认值为 'solid',除非线条是单色的。在这种情况下,负轮廓将从negative_linestyles参数取而代之。

linestyles也可以是上述字符串的可迭代,指定要使用的一组线型。如果这个迭代比轮廓级别的数量短,它将根据需要重复。

负线样式{,“实心”,“虚线”,“虚线”,“点线”},可选

仅适用于 contour

如果linestylesNone并且线条是单色的,则此参数指定负轮廓的线条样式。

如果negative_linestylesNone,则默认取自 rcParams["contour.negative_linestyles"]

negative_linestyles也可以是上述字符串的可迭代,指定要使用的一组线型。如果这个迭代比轮廓级别的数量短,它将根据需要重复。

影线列表[str],可选

仅适用于 contourf

用于填充区域的交叉影线图案列表。如果没有,则不会向轮廓添加阴影。阴影仅在 PostScript、PDF、SVG 和 Agg 后端中受支持。

算法{'mpl2005','mpl2014','串行','线程'},可选

使用哪种等高线算法来计算等高线和多边形。这些算法在 ContourPy中实现,有关更多信息,请参阅 ContourPy 文档

默认值取自rcParams["contour.algorithm"](default: 'mpl2014')。

数据可索引对象,可选

如果给定,所有参数也接受一个字符串s,它被解释为data[s](除非这引发异常)。

笔记

  1. contourf与 MATLAB 版本的不同之处在于它不绘制多边形边。要绘制边缘,请通过调用添加线条轮廓 contour

  2. contourf填充顶部封闭的区间;也就是说,对于边界z1z2,填充区域为:

    z1 < Z <= z2
    

    除了最低区间,它在两边都是封闭的(即它包括最低值)。

  3. contourcontourf使用行进正方形算法来计算轮廓位置。更多信息可以在 ContourPy 文档中找到。

使用#的示例matplotlib.axes.Axes.contourf

轮廓角遮罩

轮廓角遮罩

轮廓角遮罩
轮廓演示

轮廓演示

轮廓演示
轮廓孵化

轮廓孵化

轮廓孵化
等高线和对数色标

等高线和对数色标

等高线和对数色标
不规则间隔数据的等高线图

不规则间隔数据的等高线图

不规则间隔数据的等高线图
彩色网格

彩色网格

彩色网格
3D 箱形曲面图

3D 箱形曲面图

3D 箱形曲面图
填充轮廓

填充轮廓

填充轮廓
将填充轮廓投影到图形上

将填充轮廓投影到图形上

将填充轮廓投影到图形上
轮廓f(X, Y, Z)

轮廓f(X, Y, Z)

轮廓f(X, Y, Z)