matplotlib.pyplot.contour

matplotlib.pyplot.contour(*args, data=None, **kwargs)[源代码]

绘制等高线。

呼叫签名:

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

contourcontourf 分别绘制轮廓线和填充轮廓。除注明外,两个版本的函数签名和返回值相同。

参数:
X, Y类似数组,可选

值的坐标 Z .

XY 必须都是二维的,形状与 Z (例如,通过创建 numpy.meshgrid 或者两者都必须是一维的 len(X) == M 中的列数 Zlen(Y) == N 是中的行数 Z .

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

Z类阵列(n,m)

绘制轮廓的高度值。

levelsint或array-like,可选

确定轮廓线/区域的数量和位置。

如果int n 使用 MaxNLocator ,尝试自动选择不超过 n+1 “不错”的轮廓水平之间 vminvmax .

如果类似数组,则在指定的级别绘制轮廓线。值必须按递增顺序排列。

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

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

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

级别的颜色,即 contour 以及 contourf .

序列按升序为级别循环。如果序列比级别数短,则重复。

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

默认情况下(值 None )指定的颜色映射 cmap 将被使用。

alpha浮点,默认值:1

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

cmap : str or Colormap, default: rcParams["image.cmap"] (default: 'viridis')str或

A Colormap 实例或注册的颜色映射名称。colormap将级别值映射到颜色。

如果两者 ** 和 cmap 如果给定,则引发错误。

normNormalize 可选正常化,可选

如果使用颜色映射,则 Normalize 实例将级别值缩放到标准颜色映射范围 [0, 1] 用于映射到颜色。如果未给出,则使用默认的线性比例。

VMN,Vmax可选浮动

如果没有 None ,其中一个或两个值将提供给 Normalize 实例,重写基于 水平 .

起源 { None ,'upper','lower','image'},默认值:无{None, 'upper', 'lower', 'image'}, default: None

确定的方向和精确位置 Z 通过指定 Z[0, 0] . 这只是相关的,如果 XY 没有给出。

  • NoneZ[0, 0] 在左下角的x=0,y=0处。
  • “下”: Z[0, 0] 在左下角的x=0.5,y=0.5处。
  • “鞋帮”: Z[0, 0] 在左上角的x=n+0.5,y=0.5处。
  • “image”:使用来自的值 rcParams["image.origin"] (default: 'upper') .
extent(X0,X1,Y0,Y1),可选

如果 起源 不是 None 然后 程度 被解释为 imshow :提供外部像素边界。在这种情况下,z的位置 [0, 0] 是像素的中心,而不是一个角。如果 起源None 然后( x0y0 )是z的位置 [0, 0] ,以及( x1y1 )是z的位置 [-1, -1] .

如果 XY 在轮廓调用中指定。

locatorticker.locator子类,可选

定位器用于确定轮廓水平,如果没有通过 水平 .默认为 MaxNLocator .

extend{'neither'、'both'、'min'、'max'},默认值:'neither'

决定 contourf -对外部值的着色 水平 范围。

如果“两者都不是”,则值在 水平 范围没有着色。如果“min”、“max”或“both”,则为下面、上面或下面以及上面的值着色 水平 范围。

下面的值 min(levels) 及以上 max(levels) 映射到 Colormap . 请注意,默认情况下,大多数colormaps没有这些颜色的专用颜色,因此over和under值是colormap的边值。您可能需要使用显式设置这些值 Colormap.set_underColormap.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()
X单位注册单位,可选

通过指定 matplotlib.units.ConversionInterface .

antialiased可选的布尔

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

nchunkint>=0,可选

如果为0,则不细分域。指定一个正整数以将域划分为的子域 新奇 通过 新奇 四头肌。分块减少了轮廓算法生成的多边形的最大长度,从而减少了传递到后端的渲染工作量,并且需要的RAM也稍微少一些。但是,它可以在块边界引入呈现工件,具体取决于后端 反锯齿 标志和值 阿尔法 .

线宽度 : float or array-like, default: rcParams["contour.linewidth"] (default: None)浮点或类似数组,默认值:

仅适用于 contour .

轮廓线的线条宽度。

如果是数字,则所有级别都将使用此线条宽度打印。

如果是序列,则将按指定的顺序用线条宽度绘制升序级别。

如果没有,则返回到 rcParams["lines.linewidth"] (default: 1.5) .

直线运动 { None ,'solid'、'dashdot'、'dashdot'、'dotted',可选{None, 'solid', 'dashed', 'dashdot', 'dotted'}, optional

仅适用于 contour .

如果 直线运动None ,除非线条为单色,否则默认值为“纯色”。在这种情况下,负轮廓将从 rcParams["contour.negative_linestyle"] (default: 'dashed') 设置。

直线运动 也可以是上面指定要使用的一组线条样式的字符串的可重复项。如果此iterable比轮廓级别数短,则将根据需要重复此iterable。

hatches表 [str] 可选

仅适用于 contourf .

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

笔记

  1. contourf 与matlab版本不同的是,它不绘制多边形边。若要绘制边,请通过调用添加线条轮廓 contour .

  2. contourf 填充顶部闭合的间隔;即边界 z1z2 ,填充区域为:

    z1 < Z <= z2
    

    除最低间隔外,两侧闭合(即包括最小值)。

使用实例 matplotlib.pyplot.contour