matplotlib.contour#

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

class matplotlib.contour.ContourLabeler[源代码][源代码]#

基类:object

Mixin 为 ContourSet 提供标注能力。

add_label(x, y, rotation, lev, cvalue)[源代码][源代码]#

添加一个等高线标签,根据是否设置了 use_clabeltext 来决定。

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

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

参数:
x, yfloat

标签的大致位置。

内联bool, 默认值: True

如果 True ,移除标签下方的轮廓部分。

inline_spacingint, 默认值: 5

在放置标签时,在标签的每一侧留出的像素空间。对于位于直线轮廓上的标签,此间距将是精确的,而对于位于弯曲轮廓上的标签,则不那么精确。

transform : TransformFalse, 默认: self.axes.transData转换或假,默认值: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)[源代码][源代码]#

标注等高线图。

在此 ContourSet 中添加线条轮廓的标签(该轮廓集继承自此混合类)。

参数:
级别类似数组,可选

应该标记的级别值列表。该列表必须是 cs.levels 的子集。如果未给出,则所有级别都被标记。

字体大小 : str 或 float, 默认值: rcParams["font.size"] (default: 10.0)str 或 float, 默认:

大小以点数或相对大小表示,例如 'smaller'、'x-large'。查看 Text.set_size 以获取接受的字符串值。

颜色 : color 或颜色,或 None,默认: None颜色 或 颜色 或 None, 默认: None

标签颜色:

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

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

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

内联bool, 默认值: True

如果 True ,则在放置标签的地方移除底层轮廓。

inline_spacingfloat, 默认值: 5

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

这种间距对于位于直线轮廓上的标签将是精确的,而对于位于曲线轮廓上的标签则不那么精确。

fmt : Formatter 或 str 或 callable 或 dict, 可选格式化器或字符串或可调用对象或字典,可选

级别如何格式化:

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

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

  • 如果是一个可调用对象,它会逐级调用并应返回相应的标签。

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

默认使用标准的 ScalarFormatter

手册bool 或 iterable, 默认: False

如果 True,等高线标签将通过鼠标点击手动放置。点击靠近等高线的第一个按钮以添加标签,点击第二个按钮(或可能同时点击两个鼠标按钮)以完成添加标签。第三个按钮可以用于移除最后添加的标签,但仅在标签不是内联的情况下。或者,可以使用键盘选择标签位置(按下回车键结束标签放置,删除键或退格键的作用类似于第三个鼠标按钮,其他任何键将选择一个标签位置)。

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

正立bool, 默认值: True

如果 True ,标签旋转将始终保持在水平方向的正负90度之间。

use_clabeltextbool, 默认值: False

如果 True,使用 Text.set_transform_rotates_text 以确保标签旋转在 Axes 纵横比变化时更新。

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

等高线标签的zorder。

返回:
标签

标签的 Text 实例列表。

get_text(lev, fmt)[源代码][源代码]#

获取标签的文本。

labels(inline, inline_spacing)[源代码][源代码]#
locate_label(linecontour, labelwidth)[源代码][源代码]#

找到一个适合绘制标签的好位置(轮廓的相对平坦部分)。

pop_label(index=-1)[源代码][源代码]#

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

print_label(linecontour, labelwidth)[源代码][源代码]#

返回一个轮廓是否足够长以容纳标签。

remove()[源代码][源代码]#
too_close(x, y, lw)[源代码][源代码]#

返回一个标签是否已经接近此位置。

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, extend='neither', antialiased=None, nchunk=0, locator=None, transform=None, negative_linestyles=None, clip_path=None, **kwargs)[源代码][源代码]#

基类:ContourLabeler, Collection

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

用户可调用方法:clabel

参数:
axAxes
级别[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 : None 或 [level0kinds, level1kinds, ...]无或 [级别0种类, 级别1种类, ...]

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

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

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

**kwargs

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

属性:
axAxes

绘制等高线的 Axes 对象。

集合 : silent_listPathCollectionsPathCollections 的 silent_list

表示等高线的`.Artist`。这是一个`.PathCollection`的列表,包含线条和填充等高线。

级别数组

等高线级别的值。

数组

与线等高线的级别相同;填充等高线级别的中间值。参见 ContourSet._process_colors

根据关键字参数 filledFalse``(默认)还是 ``True,绘制等高线或填充区域。

调用签名:

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

要绘制的 Axes 对象。

级别[level0, level1, ..., leveln]

一个浮点数列表,表示等高线级别。

allsegs[level0segs, level1segs, ...]

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

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

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

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

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

**kwargs

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

property allkinds#

!! 由 numpydoc 处理 !!

property allsegs#

!! 由 numpydoc 处理 !!

property alpha#

!! 由 numpydoc 处理 !!

changed()[源代码][源代码]#

每当可映射对象发生变化时调用此函数,以通知所有监听 'changed' 信号的回调函数。

draw(renderer)[源代码][源代码]#

使用给定的渲染器绘制艺术家(及其子元素)。

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

参数:
渲染器 : RendererBase 子类。RendererBase 子类。

注释

此方法在 Artist 子类中被重写。

find_nearest_contour(x, y, indices=None, pixel=True)[源代码][源代码]#

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

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

参数:
x, yfloat

参考点。

索引list of int or None, 默认: None

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

像素bool, 默认值: True

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

返回:
路径int

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

子路径int

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

索引int

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

xmin, yminfloat

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

d2float

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

get_transform()[源代码][源代码]#

返回此 ContourSet 使用的 Transform 实例。

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

返回一个适合传递给 legend 的艺术家和标签列表,这些艺术家和标签代表了这个 ContourSet。

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

参数:
变量名str

用于标签上不等式内部的字符串。

str_format函数: float -> str

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

返回:
艺术家 : list[Artist]list[Artist]

艺术家名单。

标签list[str]

标签列表。

property linestyles#

!! 由 numpydoc 处理 !!

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

一次性设置多个属性。

支持的属性有

属性

描述

agg_filter

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

alpha

类数组或标量或无

animated

布尔

抗锯齿 或 aa 或 antialiaseds

布尔值或布尔值列表

数组

类数组或 None

capstyle

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

clim

(vmin: float, vmax: float)

clip_box

BboxBase 或 None

clip_on

布尔

clip_path

补丁或(路径,变换)或无

cmap

Colormap 或 str 或 None

颜色

color 或 RGBA 元组列表

edgecolor 或 ec 或 edgecolors

colorcolor 列表 或 'face'

facecolor 或 facecolors 或 fc

colorcolor 列表

figure

FigureSubFigure

gid

str

hatch

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

in_layout

布尔

joinstyle

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

标签

对象

linestyle 或虚线或线型或 ls

str 或 tuple 或其列表

linewidth 或 linewidths 或 lw

浮点数或浮点数列表

鼠标悬停

布尔

norm

Normalize 或 str 或 None

offset_transform 或 transOffset

Transform

偏移量

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

path_effects

AbstractPathEffect 的列表

路径

未知

picker

None 或 bool 或 float 或 callable

pickradius

float

光栅化

布尔

sketch_params

(scale: float, length: float, randomness: float)

snap

布尔值或无

transform

Transform

url

str

urls

list of str 或 None

可见

布尔

zorder

float

class 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, extend='neither', antialiased=None, nchunk=0, locator=None, transform=None, negative_linestyles=None, clip_path=None, **kwargs)[源代码][源代码]#

基类:ContourSet

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

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

属性:
axAxes

绘制等高线的 Axes 对象。

集合 : silent_listPathCollectionsPathCollections 的 silent_list

表示等高线的`.Artist`。这是一个`.PathCollection`的列表,包含线条和填充等高线。

级别数组

等高线级别的值。

数组

与线等高线的级别相同;填充等高线级别的中间值。参见 ContourSet._process_colors

根据关键字参数 filledFalse``(默认)还是 ``True,绘制等高线或填充区域。

调用签名:

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

要绘制的 Axes 对象。

级别[level0, level1, ..., leveln]

一个浮点数列表,表示等高线级别。

allsegs[level0segs, level1segs, ...]

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

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

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

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

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

**kwargs

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

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

一次性设置多个属性。

支持的属性有

属性

描述

agg_filter

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

alpha

类数组或标量或无

animated

布尔

抗锯齿 或 aa 或 antialiaseds

布尔值或布尔值列表

数组

类数组或 None

capstyle

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

clim

(vmin: float, vmax: float)

clip_box

BboxBase 或 None

clip_on

布尔

clip_path

补丁或(路径,变换)或无

cmap

Colormap 或 str 或 None

颜色

color 或 RGBA 元组列表

edgecolor 或 ec 或 edgecolors

colorcolor 列表 或 'face'

facecolor 或 facecolors 或 fc

colorcolor 列表

figure

FigureSubFigure

gid

str

hatch

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

in_layout

布尔

joinstyle

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

标签

对象

linestyle 或虚线或线型或 ls

str 或 tuple 或其列表

linewidth 或 linewidths 或 lw

浮点数或浮点数列表

鼠标悬停

布尔

norm

Normalize 或 str 或 None

offset_transform 或 transOffset

Transform

偏移量

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

path_effects

AbstractPathEffect 的列表

路径

未知

picker

None 或 bool 或 float 或 callable

pickradius

float

光栅化

布尔

sketch_params

(scale: float, length: float, randomness: float)

snap

布尔值或无

transform

Transform

url

str

urls

list of str 或 None

可见

布尔

zorder

float