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]#
基类:
_SelectorWidget在单个坐标轴上直观地选择一个最小/最大范围,并使用这些值调用函数。
为了确保选择器保持响应,请保留对它的引用。
若要关闭 SpanSelector,请将
span_selector.active设置为 False。若要重新开启,请将其设置为 True。在选择区域外同一坐标处触发的按下和释放事件将清除选择器,除非设置了
ignore_event_outside=True。- 参数:
- ax
Axes - onselect具有签名
func(min: float, max: float)的可调用对象 一个回调函数,在释放事件发生且选择范围被创建、更改或移除后调用。
- direction{"horizontal", "vertical"}
绘制范围选择器的方向。
- minspan浮点数,默认值:0
如果选择范围小于或等于 minspan,则该选择将被移除(如果已存在)或取消。
- useblitbool, 默认值: False
如果为 True,则使用后端相关的位块传输(blitting)功能以实现更快的画布更新。详情请参阅教程 使用位块传输(blitting)实现更快的渲染。
- props字典,默认值:{'facecolor': 'red', 'alpha': 0.5}
Patch属性字典。- onmove_callback具有签名
func(min: float, max: float)的可调用对象,可选 在选择范围过程中鼠标移动时调用。
- interactivebool, 默认值: False
是否绘制一组允许在绘制后与小部件进行交互的句柄。
- button
MouseButton或MouseButton列表,默认值:所有按钮 激活范围选择器的鼠标按钮。
- handle_props字典,默认值:None
范围边缘处手柄线条的属性。仅在 interactive 为 True 时使用。有效属性请参阅
Line2D。- grab_rangefloat, 默认值: 10
激活交互工具句柄的像素距离。
- state_modifier_keysdict, 可选
影响小部件行为的键盘修饰键。值会修改默认设置,默认设置为:
"clear": 清除当前形状,默认值: "escape"。
- drag_from_anywherebool, 默认值: False
如果为
True,则可以通过在其边界内的任何位置点击来移动小部件。- ignore_event_outsidebool, 默认值: False
如果为
True,则会忽略在跨度选择器外触发的事件。- snap_values一维数组,可选
将选择器边缘吸附到给定值。
- ax
示例
>>> 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()
- property direction#
范围选择器的方向:'vertical'(垂直)或 'horizontal'(水平)。
- property extents#
- (浮点数, 浮点数)
当前选择范围的起始点和结束点(以数据坐标表示)。如果没有进行选择,起始值和结束值将相同。