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 键以开始绘制一个新的多边形。
为了使选择器保持响应,您必须保留对它的引用。
- 参数:
- ax
Axes 组件的父级 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,可选
设置框句柄的属性。更多信息请参阅
RectangleSelector中 handle_props 参数的文档。- box_propsdict,可选
设置框的属性。更多信息请参阅
RectangleSelector中 props 参数的文档。
- ax
备注
如果在移除点后只剩下一个点,选择器将恢复为未完成状态,您可以从现有点开始绘制一个新的多边形。
示例
- property verts#
多边形顶点,表现为
(x, y)对的列表。