matplotlib.pyplot.contour #
- matplotlib.pyplot。轮廓( * args , data = None , ** kwargs ) [来源] #
绘制等高线。
来电签名:
contour([X, Y,] Z, [levels], **kwargs)
contour
并contourf
分别绘制等高线和填充等高线。除非另有说明,两个版本的函数签名和返回值是相同的。- 参数:
- X, Y类数组,可选
Z中值的坐标。
X和Y必须都是二维的,具有与Z相同的形状(例如通过 创建
numpy.meshgrid
),或者它们必须都是一维的,即Z中的列数和 Z中的行数。len(X) == N
len(Y) == M
X和Y都必须单调排序。
如果未给出,则假定它们是整数索引, 即。
X = range(N)
Y = range(M)
- Z (M, N) 类数组
绘制轮廓的高度值。颜色映射由cmap、norm、vmin和vmax控制。
- 级别int 或类似数组,可选
确定等高线/区域的数量和位置。
如果是 int n,请使用,它会尝试在vmin和vmax
MaxNLocator
之间自动选择不超过n+1 个“nice”等高线级别。如果类似数组,则在指定级别绘制等高线。这些值必须按升序排列。
- 返回:
- 其他参数:
- 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。
如果给出,这可以是以下之一:
一个实例
Normalize
或其子类之一(请参阅Colormap Normalization)。刻度名称,即“linear”、“log”、“symlog”、“logit”等之一。有关可用刻度的列表,请调用
matplotlib.scale.get_scale_names()
。Normalize
在这种情况下,会动态生成并实例化一个合适的子类。
如果设置了颜色,则忽略此参数。
- vmin, vmax浮点数,可选
当使用标量数据且没有明确的norm时,vmin和vmax定义颜色图覆盖的数据范围。默认情况下,颜色图覆盖所提供数据的完整值范围。给定范数实例时使用vmin / vmax是错误的 (但可以接受将范数 名称与vmin / vmax一起使用)。
str
如果未给出vmin或vmax,则默认颜色缩放基于 级别。
如果设置了颜色,则忽略此参数。
- origin { None , 'upper', 'lower', 'image'}, 默认值:无
通过指定 的位置来确定Z的方向和准确位置。这仅 在未给出X、Y的情况下才有意义。
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] 的位置是像素的中心,而不是角落。如果 origin为None,则 ( x0 , y0 ) 为 Z[0, 0] 的位置,( x1 , y1 ) 为 Z[-1, -1] 的位置。如果在对轮廓的调用中指定了X和Y ,则忽略此参数。
- 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
。如果linestyles为None,则默认值为 'solid',除非线条是单色的。在这种情况下,负轮廓将从negative_linestyles参数取而代之。
linestyles也可以是上述字符串的可迭代,指定要使用的一组线型。如果这个迭代比轮廓级别的数量短,它将根据需要重复。
- 负线样式{无,“实心”,“虚线”,“虚线”,“点线”},可选
仅适用于
contour
。如果linestyles是None并且线条是单色的,则此参数指定负轮廓的线条样式。
如果negative_linestyles为None,则默认取自
rcParams["contour.negative_linestyles"]
。negative_linestyles也可以是上述字符串的可迭代,指定要使用的一组线型。如果这个迭代比轮廓级别的数量短,它将根据需要重复。
- 影线列表[str],可选
仅适用于
contourf
。用于填充区域的交叉影线图案列表。如果没有,则不会向轮廓添加阴影。阴影仅在 PostScript、PDF、SVG 和 Agg 后端中受支持。
- 算法{'mpl2005','mpl2014','串行','线程'},可选
使用哪种等高线算法来计算等高线和多边形。这些算法在 ContourPy中实现,有关更多信息,请参阅 ContourPy 文档。
默认值取自
rcParams["contour.algorithm"]
(default:'mpl2014'
)。- 数据可索引对象,可选
如果给定,所有参数也接受一个字符串
s
,它被解释为data[s]
(除非这引发异常)。
- corner_mask布尔值,默认值:(
笔记