matplotlib.pyplot.tricontour#
- matplotlib.pyplot.tricontour(*args, **kwargs)[source]#
在非结构化三角形网格上绘制等高线。
调用签名
tricontour(triangulation, z, [levels], ...) tricontour(x, y, z, [levels], *, [triangles=triangles], [mask=mask], ...)
三角网格可以通过两种方式指定:要么将
Triangulation
对象作为第一个参数传递,要么传递点 x、y 以及可选的 triangles 和 mask。有关这些参数的解释,请参见Triangulation
。如果既未提供 triangulation 也未提供 triangles,则三角剖分将即时计算。可以通过位置参数传递 triangles,即
tricontour(x, y, triangles, z, ...)
。但是,不建议这样做。为了更清晰,请通过关键字参数传递 triangles。- 参数:
- triangulation
Triangulation
,可选 已创建的三角网格。
- x, y, triangles, mask
定义三角网格的参数。请参阅
Triangulation
。这与指定 triangulation 参数互斥。- z类数组
绘制等高线的高度值。颜色映射由 cmap, norm, vmin 和 vmax 控制。
注意
z 中的所有值都必须是有限的。因此,nan 和 inf 值必须被移除或使用
set_mask
。- levelsint 或 array-like, 可选
确定等高线/区域的数量和位置。
如果是一个整数 n,则使用
MaxNLocator
,它会尝试在 Z 的最小和最大数值之间自动选择不超过 n+1 个“合适”的等高线级别。如果为 array-like,则在指定级别绘制等高线。值必须按升序排列。
- triangulation
- 返回:
- 其他参数:
- colors颜色 或 颜色 列表,可选
级别的颜色,即等高线的颜色。
序列按照升序循环用于各个级别。如果序列的长度小于级别数量,则会重复使用。
作为快捷方式,可以使用单个颜色字符串代替单元素列表,例如使用
'red'
而不是['red']
来为所有级别着色。此快捷方式仅适用于颜色字符串,不适用于其他颜色指定方式。默认情况下(值为 None),将使用 cmap 指定的颜色映射。
- alphafloat, 默认值: 1
alpha 混合值,介于 0(透明)和 1(不透明)之间。
- cmap字符串或
Colormap
,默认值:rcParams["image.cmap"]
(默认值:'viridis'
) 用于将标量数据映射到颜色的颜色映射实例或已注册的颜色映射名称。
如果设置了 colors,则此参数将被忽略。
- norm字符串或
Normalize
,可选 在采用 cmap 映射颜色之前,用于将标量数据缩放到 [0, 1] 范围的归一化方法。默认情况下,使用线性缩放,将最低值映射到 0,最高值映射到 1。
如果给定,可以是以下之一
比例名称,例如“linear”、“log”、“symlog”、“logit”等。有关可用比例的列表,请调用
matplotlib.scale.get_scale_names()
。在这种情况下,将动态生成并实例化一个合适的Normalize
子类。
如果设置了 colors,则此参数将被忽略。
- vmin, vmax浮点型,可选
当使用标量数据且未明确指定 *norm* 时,*vmin* 和 *vmax* 定义了颜色映射所覆盖的数据范围。默认情况下,颜色映射覆盖所提供数据的完整值范围。如果在给定 *norm* 实例的情况下使用 *vmin*/*vmax* 会出错(但将
str
*norm* 名称与 *vmin*/*vmax* 一起使用是可以接受的)。如果未给出 vmin 或 vmax,则默认颜色缩放基于 levels。
如果设置了 colors,则此参数将被忽略。
- origin{None, 'upper', 'lower', 'image'}, 默认值: None
通过指定
z[0, 0]
的位置来确定 *z* 的方向和精确位置。这仅在未给出 *X*、*Y* 时相关。None:
z[0, 0]
位于左下角的 X=0, Y=0。'lower':
z[0, 0]
位于左下角的 X=0.5, Y=0.5。'upper':
z[0, 0]
位于左上角的 X=N+0.5, Y=0.5。'image':使用
rcParams["image.origin"]
中的值(默认值:'upper'
)。
- extent(x0, x1, y0, y1), 可选
如果 *origin* 不是 *None*,则 *extent* 的解释与
imshow
中相同:它给出外部像素边界。在这种情况下,z[0, 0] 的位置是像素中心,而不是角点。如果 *origin* 是 *None*,则 (*x0*, *y0*) 是 z[0, 0] 的位置,(*x1*, *y1*) 是 z[-1, -1] 的位置。如果在调用 contour 时指定了 X 和 Y,则此参数将被忽略。
- locatorticker.Locator 子类, 可选
如果未通过 *levels* 明确给出等高线级别,则定位器用于确定等高线级别。默认为
MaxNLocator
。- extend{'neither', 'both', 'min', 'max'}, 默认值: 'neither'
确定超出 *levels* 范围的值的
tricontour
着色。如果为 'neither',则超出 levels 范围的值不着色。如果为 'min', 'max' 或 'both',则为低于、高于或低于和高于 levels 范围的值着色。
低于
min(levels)
和高于max(levels)
的值被映射到Colormap
的下限/上限值。请注意,大多数颜色映射默认没有专门的颜色用于这些值,因此上限和下限值是颜色映射的边缘值。您可能希望使用Colormap.set_under
和Colormap.set_over
明确设置这些值。注意
如果更改了现有
TriContourSet
的颜色映射属性,它不会收到通知。因此,在修改颜色映射后需要明确调用ContourSet.changed()
。如果将颜色条分配给TriContourSet
,则可以省略显式调用,因为它会在内部调用ContourSet.changed()
。- xunits, yunits已注册的单位, 可选
通过指定
matplotlib.units.ConversionInterface
的实例来覆盖轴单位。- antialiasedbool, 可选
启用抗锯齿,覆盖默认设置。对于填充等高线,默认值为 *True*。对于线条等高线,其值取自
rcParams["lines.antialiased"]
(默认值:True
)。- linewidths浮点数或类数组,默认值:
rcParams["contour.linewidth"]
(默认值:None
) 等高线的线宽。
如果是一个数字,所有级别都将以此线宽绘制。
如果是一个序列,则按升序排列的级别将按指定顺序的线宽绘制。
如果为 None,则此值将回退到
rcParams["lines.linewidth"]
(默认值:1.5
)。- linestyles{None, 'solid', 'dashed', 'dashdot', 'dotted'}, 可选
如果 *linestyles* 为 *None*,则默认样式为 'solid',除非线条是单色的。在这种情况下,负值等高线将从
rcParams["contour.negative_linestyle"]
(默认值:'dashed'
) 设置中获取其线条样式。linestyles 也可以是上述字符串的可迭代对象,指定一组要使用的线型。如果此可迭代对象短于等高线级别数,则会根据需要重复。
备注
注意
这是 pyplot 封装器,用于
axes.Axes.tricontour
。