matplotlib.contour#

支持 Axes 类等高线绘制和标注的类。

class matplotlib.contour.ContourLabeler[source]#

基类: object

ContourSet 提供标注能力的 Mixin。

add_label(x, y, rotation, lev, cvalue)[source]#

添加等高线标签,并考虑是否设置了 use_clabeltext

add_label_near(x, y, inline=True, inline_spacing=5, transform=None)[source]#

在点 (x, y) 附近添加标签。

参数:
x, y浮点数

标签的大致位置。

inline布尔值, 默认值: True

如果为 True,则移除标签下方等高线的线段。

inline_spacing整数, 默认值: 5

在行内放置标签时,在标签两侧留出的像素空间。对于等高线平直位置的标签,此间距将是精确的;对于弯曲等高线上的标签,则会稍有偏差。

transformTransformFalse, 默认值: self.axes.transData

在标注前应用于 (x, y) 的变换。默认情况下,(x, y) 将被解释为数据坐标。FalseIdentityTransform 的同义词;即 (x, y) 应被解释为显示坐标。

clabel(levels=None, *, fontsize=None, inline=True, inline_spacing=5, fmt=None, colors=None, use_clabeltext=False, manual=False, rightside_up=True, zorder=None)[source]#

为等高线图添加标签。

为此 ContourSet(继承自此混入类)中的线等高线添加标签。

参数:
levels类数组对象,可选的

要标注的等高线级别值列表。此列表必须是 cs.levels 的子集。如果未给定,则标注所有级别。

fontsize字符串或浮点数, 默认值: rcParams["font.size"] (默认值: 10.0)

以点为单位的大小或相对大小,例如 'smaller'、'x-large'。请参阅 Text.set_size 以了解接受的字符串值。

colors颜色 或 颜色列表 或 None, 默认值: None

标签颜色

  • 如果为 None,每个标签的颜色将与相应等高线的颜色匹配。

  • 如果是一个字符串颜色,例如 *colors* = 'r' 或 *colors* = 'red',所有标签将以该颜色绘制。

  • 如果是一个颜色元组(字符串、浮点数、RGB 等),不同的标签将按照指定顺序以不同的颜色绘制。

inline布尔值, 默认值: True

如果为 True,则移除放置标签处的底层等高线。

inline_spacing浮点数, 默认值: 5

在行内放置标签时,在标签两侧留出的像素空间。

对于等高线平直位置的标签,此间距将是精确的;对于弯曲等高线上的标签,则会稍有偏差。

fmtFormatter 或 字符串 或 可调用对象 或 字典, 可选

级别值的格式化方式

  • 如果是一个 Formatter,它将使用其 Formatter.format_ticks 方法一次性格式化所有级别。

  • 如果是一个字符串,它将被解释为 %-style 格式字符串。

  • 如果是一个可调用对象,它将一次处理一个级别,并应返回相应的标签。

  • 如果是一个字典,它应直接将级别映射到标签。

默认使用标准的 ScalarFormatter

manual布尔值或可迭代对象, 默认值: False

如果为 True,等高线标签将通过鼠标点击手动放置。点击等高线附近的第一个按钮添加标签,点击第二个按钮(或同时点击两个鼠标按钮)完成标签添加。第三个按钮可用于移除最后添加的标签,但仅当标签不是内联时。此外,也可以使用键盘选择标签位置(按 Enter 结束标签放置,按 Delete 或 Backspace 键作用与第三个鼠标按钮相同,按其他任何键将选择一个标签位置)。

manual 也可以是 (x, y) 元组的可迭代对象。等高线标签将像鼠标在每个 (x, y) 位置点击一样创建。

rightside_up布尔值, 默认值: True

如果为 True,标签旋转将始终相对于等高线方向旋转 +/- 90 度。

use_clabeltext布尔值, 默认值: False

如果为 True,则使用 Text.set_transform_rotates_text 以确保每当 Axes 纵横比改变时,标签旋转都会更新。

zorder浮点数或 None, 默认值: (2 + contour.get_zorder())

等高线标签的 zorder。

返回:
labels

一个包含标签的 Text 实例列表。

get_text(lev, fmt)[source]#

获取标签文本。

labels(inline, inline_spacing)[source]#
locate_label(linecontour, labelwidth)[source]#

寻找绘制标签的好位置(等高线相对平坦的部分)。

pop_label(index=-1)[source]#

默认为移除最后一个标签,但可以提供任何索引。

print_label(linecontour, labelwidth)[source]#

返回等高线是否足够长以容纳标签。

remove()[source]#
too_close(x, y, lw)[source]#

返回此位置附近是否已存在标签。

class matplotlib.contour.ContourSet(ax, *args, levels=None, filled=False, linewidths=None, linestyles=None, hatches=(None,), alpha=None, origin=None, extent=None, cmap=None, colors=None, norm=None, vmin=None, vmax=None, colorizer=None, extend='neither', antialiased=None, nchunk=0, locator=None, transform=None, negative_linestyles=None, clip_path=None, **kwargs)[source]#

基类: ContourLabeler, Collection

存储一组等高线或填充区域。

用户可调用的方法: clabel

参数:
axAxes
levels[level0, level1, ..., leveln]

指示等高线级别的一系列浮点数。

allsegs[level0segs, level1segs, ...]

所有 *levels* 的所有多边形线段列表。对于等高线,len(allsegs) == len(levels);对于填充等高线区域,len(allsegs) = len(levels)-1。这些列表应如下所示:

level0segs = [polygon0, polygon1, ...]
polygon0 = [[x0, y0], [x1, y1], ...]
allkindsNone 或 [level0kinds, level1kinds, ...]

所有多边形顶点类型(代码类型)的可选列表,如 Path 中所述和使用。这用于允许多连接路径,例如填充多边形内的孔洞。如果不是 None,则 len(allkinds) == len(allsegs)。这些列表应如下所示:

level0kinds = [polygon0kinds, ...]
polygon0kinds = [vertexcode0, vertexcode1, ...]

如果 *allkinds* 不是 None,通常特定等高线级别的所有多边形都会组合在一起,因此 level0segs = [polygon0]level0kinds = [polygon0kinds]

**kwargs

关键字参数如 contour 的文档字符串中所述。

属性:
levels数组

等高线级别的值。

layers数组

对于线等高线,与 levels 相同;对于填充等高线,位于级别之间。请参阅 ContourSet._process_colors

绘制等高线或填充区域,取决于关键字参数 *filled* 是 False(默认)还是 True

调用签名

ContourSet(ax, levels, allsegs, [allkinds], **kwargs)
参数:
axAxes

要在其上绘制的 Axes 对象。

levels[level0, level1, ..., leveln]

指示等高线级别的一系列浮点数。

allsegs[level0segs, level1segs, ...]

所有 *levels* 的所有多边形线段列表。对于等高线,len(allsegs) == len(levels);对于填充等高线区域,len(allsegs) = len(levels)-1。这些列表应如下所示:

level0segs = [polygon0, polygon1, ...]
polygon0 = [[x0, y0], [x1, y1], ...]
allkinds[level0kinds, level1kinds, ...], 可选

所有多边形顶点类型(代码类型)的可选列表,如 Path 中所述和使用。这用于允许多连接路径,例如填充多边形内的孔洞。如果不是 None,则 len(allkinds) == len(allsegs)。这些列表应如下所示:

level0kinds = [polygon0kinds, ...]
polygon0kinds = [vertexcode0, vertexcode1, ...]

如果 *allkinds* 不是 None,通常特定等高线级别的所有多边形都会组合在一起,因此 level0segs = [polygon0]level0kinds = [polygon0kinds]

**kwargs

关键字参数如 contour 的文档字符串中所述。

property allkinds#
property allsegs#
property alpha#
changed()[source]#

每当映射对象发生更改时调用此函数,以通知所有 callbackSM 监听器“changed”信号。

draw(renderer)[source]#

使用给定的渲染器绘制 Artist(及其子对象)。

如果艺术家不可见(Artist.get_visible 返回 False),则此操作无效。

参数:
rendererRendererBase 子类。

备注

此方法在 Artist 子类中被覆盖。

find_nearest_contour(x, y, indices=None, pixel=True)[source]#

找到等高线图中距离 (x, y) 最近的点。

此方法不支持填充等高线。

参数:
x, y浮点数

参考点。

indices整数列表或 None, 默认值: None

要考虑的等高线级别索引。如果为 None(默认值),则考虑所有级别。

pixel布尔值, 默认值: True

如果为 *True*,则在像素(屏幕)空间中测量距离,这对于手动等高线标注很有用;否则,在坐标轴空间中测量距离。

返回:
path整数

距离 (x, y) 最近的路径的索引。每个路径对应一个等高线级别。

subpath整数

在该最近路径中,距离 (x, y) 最近的子路径的索引。每个子路径对应一条不间断的等高线。

index整数

在该子路径中,距离 (x, y) 最近的顶点的索引。

xmin, ymin浮点数

等高线图中距离 (x, y) 最近的点。

d2浮点数

(xmin, ymin)(x, y) 的平方距离。

get_transform()[source]#

返回此 ContourSet 使用的 Transform 实例。

legend_elements(variable_name='x', str_format=<class 'str'>)[source]#

返回一个适用于传递给 legend 以表示此 ContourSet 的艺术家和标签列表。

标签的形式为 "0 < x <= 1",表示艺术家所代表的数据范围。

参数:
variable_name字符串

标签中不等式内使用的字符串。

str_format函数: 浮点数 -> 字符串

用于格式化标签中数字的函数。

返回:
artists列表[Artist]

艺术家列表。

labels列表[字符串]

标签列表。

property linestyles#
set(*, agg_filter=未设置, alpha=未设置, animated=未设置, antialiased=未设置, array=未设置, capstyle=未设置, clim=未设置, clip_box=未设置, clip_on=未设置, clip_path=未设置, cmap=未设置, color=未设置, edgecolor=未设置, facecolor=未设置, gid=未设置, hatch=未设置, hatch_linewidth=未设置, in_layout=未设置, joinstyle=未设置, label=未设置, linestyle=未设置, linewidth=未设置, mouseover=未设置, norm=未设置, offset_transform=未设置, offsets=未设置, path_effects=未设置, paths=未设置, picker=未设置, pickradius=未设置, rasterized=未设置, sketch_params=未设置, snap=未设置, transform=未设置, url=未设置, urls=未设置, visible=未设置, zorder=未设置)[来源]#

一次性设置多个属性。

支持的属性包括:

属性

描述

agg_filter

一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量

alpha

类数组或浮点数或 None

animated

布尔值

antialiasedaaantialiaseds

布尔值或布尔值列表

array

类数组或 None

capstyle

CapStyle 或 {'butt', 'projecting', 'round'}

clim

(vmin: 浮点数, vmax: 浮点数)

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

cmap

Colormap 或 str 或 None

color

颜色 或 RGBA 元组列表

edgecolorecedgecolors

颜色颜色列表 或 'face'

facecolorfacecolorsfc

颜色颜色列表

figure

FigureSubFigure

gid

str

hatch

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

hatch_linewidth

未知

in_layout

布尔值

joinstyle

JoinStyle 或 {'miter', 'round', 'bevel'}

label

object

linestyledasheslinestylesls

字符串或元组或其列表

linewidthlinewidthslw

浮点数或浮点数列表

mouseover

布尔值

norm

Normalize 或 str 或 None

offset_transformtransOffset

变换

offsets

(N, 2) 或 (2,) 类数组

path_effects

AbstractPathEffect列表

paths

未知

picker

None 或 布尔值 或 浮点数 或 可调用对象

pickradius

浮点数

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

字符串列表或 None

urls

visible

布尔值

zorder

浮点数

matplotlib.contour.QuadContourSet(ax, *args, levels=None, filled=False, linewidths=None, linestyles=None, hatches=(None,), alpha=None, origin=None, extent=None, cmap=None, colors=None, norm=None, vmin=None, vmax=None, colorizer=None, extend='neither', antialiased=None, nchunk=0, locator=None, transform=None, negative_linestyles=None, clip_path=None, **kwargs)[来源]#

基类: ContourSet

创建并存储一组等高线或填充区域。

该类通常不直接由用户实例化,而是通过 contourcontourf 实例化。

属性:
levels数组

等高线级别的值。

layers数组

对于线等高线,与 levels 相同;对于填充等高线,位于级别之间。请参阅 ContourSet._process_colors

绘制等高线或填充区域,取决于关键字参数 *filled* 是 False(默认)还是 True

调用签名

ContourSet(ax, levels, allsegs, [allkinds], **kwargs)
参数:
axAxes

要在其上绘制的 Axes 对象。

levels[level0, level1, ..., leveln]

指示等高线级别的一系列浮点数。

allsegs[level0segs, level1segs, ...]

所有 *levels* 的所有多边形线段列表。对于等高线,len(allsegs) == len(levels);对于填充等高线区域,len(allsegs) = len(levels)-1。这些列表应如下所示:

level0segs = [polygon0, polygon1, ...]
polygon0 = [[x0, y0], [x1, y1], ...]
allkinds[level0kinds, level1kinds, ...], 可选

所有多边形顶点类型(代码类型)的可选列表,如 Path 中所述和使用。这用于允许多连接路径,例如填充多边形内的孔洞。如果不是 None,则 len(allkinds) == len(allsegs)。这些列表应如下所示:

level0kinds = [polygon0kinds, ...]
polygon0kinds = [vertexcode0, vertexcode1, ...]

如果 *allkinds* 不是 None,通常特定等高线级别的所有多边形都会组合在一起,因此 level0segs = [polygon0]level0kinds = [polygon0kinds]

**kwargs

关键字参数如 contour 的文档字符串中所述。

set(*, agg_filter=未设置, alpha=未设置, animated=未设置, antialiased=未设置, array=未设置, capstyle=未设置, clim=未设置, clip_box=未设置, clip_on=未设置, clip_path=未设置, cmap=未设置, color=未设置, edgecolor=未设置, facecolor=未设置, gid=未设置, hatch=未设置, hatch_linewidth=未设置, in_layout=未设置, joinstyle=未设置, label=未设置, linestyle=未设置, linewidth=未设置, mouseover=未设置, norm=未设置, offset_transform=未设置, offsets=未设置, path_effects=未设置, paths=未设置, picker=未设置, pickradius=未设置, rasterized=未设置, sketch_params=未设置, snap=未设置, transform=未设置, url=未设置, urls=未设置, visible=未设置, zorder=未设置)[来源]#

一次性设置多个属性。

支持的属性包括:

属性

描述

agg_filter

一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量

alpha

类数组或浮点数或 None

animated

布尔值

antialiasedaaantialiaseds

布尔值或布尔值列表

array

类数组或 None

capstyle

CapStyle 或 {'butt', 'projecting', 'round'}

clim

(vmin: 浮点数, vmax: 浮点数)

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

cmap

Colormap 或 str 或 None

color

颜色 或 RGBA 元组列表

edgecolorecedgecolors

颜色颜色列表 或 'face'

facecolorfacecolorsfc

颜色颜色列表

figure

FigureSubFigure

gid

str

hatch

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

hatch_linewidth

未知

in_layout

布尔值

joinstyle

JoinStyle 或 {'miter', 'round', 'bevel'}

label

object

linestyledasheslinestylesls

字符串或元组或其列表

linewidthlinewidthslw

浮点数或浮点数列表

mouseover

布尔值

norm

Normalize 或 str 或 None

offset_transformtransOffset

变换

offsets

(N, 2) 或 (2,) 类数组

path_effects

AbstractPathEffect列表

paths

未知

picker

None 或 布尔值 或 浮点数 或 可调用对象

pickradius

浮点数

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

字符串列表或 None

urls

visible

布尔值

zorder

浮点数