matplotlib.widgets.SpanSelector#
- class matplotlib.widgets.SpanSelector(ax, onselect, direction, *, minspan=0, useblit=False, props=None, onmove_callback=None, interactive=False, button=None, handle_props=None, grab_range=10, state_modifier_keys=None, drag_from_anywhere=False, ignore_event_outside=False, snap_values=None)[source]#
Bases:
_SelectorWidgetVisually select a min/max range on a single axis and call a function with those values.
To guarantee that the selector remains responsive, keep a reference to it.
In order to turn off the SpanSelector, set
span_selector.activeto False. To turn it back on, set it to True.Press and release events triggered at the same coordinates outside the selection will clear the selector, except when
ignore_event_outside=True.- Parameters:
- ax
Axes - onselectcallable with signature
func(min: float, max: float) A callback function that is called after a release event and the selection is created, changed or removed.
- direction{"horizontal", "vertical"}
The direction along which to draw the span selector.
- minspanfloat, default: 0
If selection is less than or equal to minspan, the selection is removed (when already existing) or cancelled.
- useblitbool, default: False
If True, use the backend-dependent blitting features for faster canvas updates. See the tutorial Faster rendering by using blitting for details.
- propsdict, default: {'facecolor': 'red', 'alpha': 0.5}
Dictionary of
Patchproperties.- onmove_callbackcallable with signature
func(min: float, max: float), optional Called on mouse move while the span is being selected.
- interactivebool, default: False
Whether to draw a set of handles that allow interaction with the widget after it is drawn.
- button
MouseButtonor list ofMouseButton, default: all buttons The mouse buttons which activate the span selector.
- handle_propsdict, default: None
Properties of the handle lines at the edges of the span. Only used when interactive is True. See
Line2Dfor valid properties.- grab_rangefloat, default: 10
Distance in pixels within which the interactive tool handles can be activated.
- state_modifier_keysdict, optional
Keyboard modifiers which affect the widget's behavior. Values amend the defaults, which are:
"clear": Clear the current shape, default: "escape".
- drag_from_anywherebool, default: False
If
True, the widget can be moved by clicking anywhere within its bounds.- ignore_event_outsidebool, default: False
If
True, the event triggered outside the span selector will be ignored.- snap_values1D array-like, optional
Snap the selector edges to the given values.
- ax
Examples
>>> import matplotlib.pyplot as plt >>> import matplotlib.widgets as mwidgets >>> fig, ax = plt.subplots() >>> ax.plot([1, 2, 3], [10, 50, 100]) >>> def onselect(vmin, vmax): ... print(vmin, vmax) >>> span = mwidgets.SpanSelector(ax, onselect, 'horizontal', ... props=dict(facecolor='blue', alpha=0.5)) >>> fig.show()
See also: Span Selector
- property direction#
Direction of the span selector: 'vertical' or 'horizontal'.
- property extents#
- (float, float)
The values, in data coordinates, for the start and end points of the current selection. If there is no selection then the start and end values will be the same.