matplotlib.pyplot.contourf #

matplotlib.pyplot。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 文档中找到。