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)[source]#
Bases:
_SelectorWidgetSelect a polygon region of an Axes.
Place vertices with each mouse click, and make the selection by completing the polygon (clicking on the first vertex). Once drawn individual vertices can be moved by clicking and dragging with the left mouse button, or removed by clicking the right mouse button.
In addition, the following modifier keys can be used:
Hold ctrl and click and drag a vertex to reposition it before the polygon has been completed.
Hold the shift key and click and drag anywhere in the Axes to move all vertices.
Press the esc key to start a new polygon.
For the selector to remain responsive you must keep a reference to it.
- Parameters:
- ax
Axes The parent Axes for the widget.
- onselectfunction, optional
When a polygon is completed or modified after completion, the onselect function is called and passed a list of the vertices as
(xdata, ydata)tuples.- useblitbool, default: False
Whether to use blitting for faster drawing (if supported by the backend). See the tutorial Faster rendering by using blitting for details.
- propsdict, optional
Properties with which the line is drawn, see
Line2Dfor valid properties. Default:dict(color='k', linestyle='-', linewidth=2, alpha=0.5)
- handle_propsdict, optional
Artist properties for the markers drawn at the vertices of the polygon. See the marker arguments in
Line2Dfor valid properties. Default values are defined inmpl.rcParamsexcept for the default value ofmarkeredgecolorwhich will be the same as thecolorproperty in props.- grab_rangefloat, default: 10
A vertex is selected (to complete the polygon or to move a vertex) if the mouse click is within grab_range pixels of the vertex.
- draw_bounding_boxbool, optional
If
True, a bounding box will be drawn around the polygon selector once it is complete. This box can be used to move and resize the selector.- box_handle_propsdict, optional
Properties to set for the box handles. See the documentation for the handle_props argument to
RectangleSelectorfor more info.- box_propsdict, optional
Properties to set for the box. See the documentation for the props argument to
RectangleSelectorfor more info.
- ax
Notes
If only one point remains after removing points, the selector reverts to an incomplete state and you can start drawing a new polygon from the existing point.
Examples
Polygon Selector Select indices from a collection using polygon selector
- property verts#
The polygon vertices, as a list of
(x, y)pairs.
Examples using matplotlib.widgets.PolygonSelector#
Select indices from a collection using polygon selector