matplotlib.widgets.PolygonSelector#

class matplotlib.widgets.PolygonSelector(ax, onselect=None, *, useblit=False, props=None, handle_props=None, grab_range=10, draw_bounding_box=False, box_handle_props=None, box_props=None)[源码]#

基类: _SelectorWidget

在坐标轴(Axes)上选择一个多边形区域。

通过每次鼠标点击放置顶点,并通过闭合多边形(点击第一个顶点)完成选择。绘制完成后,可以通过左键点击并拖动来移动单个顶点,或者通过右键点击来移除顶点。

此外,可以使用以下修饰键:

  • 按住 ctrl 键并点击并拖动顶点,可在多边形完成前对其进行重定位。

  • 按住 shift 键并在坐标轴内任意位置点击并拖动,可移动所有顶点。

  • 按下 esc 键以开始绘制一个新的多边形。

为了使选择器保持响应,您必须保留对它的引用。

参数:
axAxes

组件的父级 Axes 对象。

onselect函数,可选

当多边形完成或在完成后被修改时,onselect 函数会被调用,并以 (xdata, ydata) 元组列表的形式传入顶点坐标。

useblitbool, 默认值: False

是否使用位块传输(blitting)以加快绘图速度(如果后端支持)。详细信息请参阅教程 通过位块传输实现更快的渲染

props字典,可选

绘制线条时使用的属性,请参阅 Line2D 以获取有效属性。默认值

dict(color='k', linestyle='-', linewidth=2, alpha=0.5)
handle_propsdict, 可选

用于绘制多边形顶点的标记的 Artist 属性。请参阅 Line2D 中的 marker 参数以获取有效属性。除 markeredgecolor 的默认值(与 props 中的 color 属性相同)外,默认值均在 mpl.rcParams 中定义。

grab_rangefloat, 默认值: 10

如果鼠标点击位置在顶点 grab_range 像素范围内,则选中该顶点(用于闭合多边形或移动顶点)。

draw_bounding_boxbool,可选

如果为 True,则在多边形选择器完成后在其周围绘制一个边界框。该框可用于移动和调整选择器的大小。

box_handle_propsdict,可选

设置框句柄的属性。更多信息请参阅 RectangleSelectorhandle_props 参数的文档。

box_propsdict,可选

设置框的属性。更多信息请参阅 RectangleSelectorprops 参数的文档。

备注

如果在移除点后只剩下一个点,选择器将恢复为未完成状态,您可以从现有点开始绘制一个新的多边形。

示例

多边形选择器 使用多边形选择器从集合中选择索引

onmove(event)[源码]#

光标移动事件处理程序和验证器。

property verts#

多边形顶点,表现为 (x, y) 对的列表。

使用 matplotlib.widgets.PolygonSelector 的示例#

使用多边形选择器从集合中选择索引

使用多边形选择器从集合中选择索引

多边形选择器

多边形选择器