当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python matplotlib RectangleSelector用法及代码示例


本文简要介绍 python 语言中 matplotlib.widgets.RectangleSelector 的用法。

用法

class matplotlib.widgets.RectangleSelector(ax, onselect, *, minspanx=0, minspany=0, useblit=False, props=None, spancoords='data', button=None, grab_range=10, handle_props=None, interactive=False, state_modifier_keys=None, drag_from_anywhere=False, ignore_event_outside=False, use_data_coordinates=False)

基础:_SelectorWidget

选择轴的矩形区域。

要使光标保持响应,您必须保留对它的引用。

在选择之外的相同坐标处触发的按下和释放事件将清除选择器,但 ignore_event_outside=True 除外。

参数
ax Axes

小部件的父轴。

onselect 函数

在发布事件和创建、更改或删除选择之后调用的回调函数。它必须有签名:

def onselect(eclick: MouseEvent, erelease: MouseEvent)

其中 eclickerelease 是鼠标单击并释放 MouseEvent 开始和完成选择。

minspanx 浮点数,默认值:0

x-span 小于或等于 minspanx 的选择将被删除(当已经存在时)或取消。

minspany 浮点数,默认值:0

y-span 小于或等于 minspanx 的选择将被删除(当已经存在时)或取消。

useblit 布尔值,默认值:假

是否使用位块传输来加快绘制速度(如果后端支持)。有关详细信息,请参阅教程使用位图传输加快渲染速度。

props 字典,可选

绘制矩形的属性。有关有效属性,请参阅 Patch 。默认:

dict(facecolor='red', edgecolor='black', alpha=0.2, fill=True)

spancoords {"data", "pixels"},默认:"data"

是否在数据或像素坐标中解释 minspanxminspany

button MouseButton MouseButton 列表,默认值:所有按钮

触发矩形选择的按钮。

grab_range 浮点数,默认值:10

可以激活交互式工具手柄的距离(以像素为单位)。

handle_props 字典,可选

绘制交互式句柄(标记艺术家)的属性。有关有效属性,请参阅 Line2D 中的标记参数。默认值在 mpl.rcParams 中定义,但 markeredgecolor 的默认值与 props 中的 edgecolor 属性相同。

interactive 布尔值,默认值:假

是否绘制一组允许在绘制后与小部件交互的句柄。

state_modifier_keys 字典,可选

影响小部件行为的键盘修饰符。值修改了默认值,它们是:

  • "move":移动现有形状,默认:无修饰符。

  • "clear":清除当前形状,默认:"escape"。

  • "square":使形状为正方形,默认:"shift"。

  • "center":改变中心周围的形状,默认:"ctrl"。

  • "rotate":围绕中心在-45°和45°之间旋转形状,默认值:"r"。

"square" 和 "center" 可以组合。正方形可以在数据或显示坐标中定义,由创建选择器时指定的 use_data_coordinates 参数确定。

drag_from_anywhere 布尔值,默认值:假

如果 True ,则可以通过单击其范围内的任意位置来移动小部件。

ignore_event_outside 布尔值,默认值:假

如果 True ,在跨度选择器之外触发的事件将被忽略。

use_data_coordinates 布尔值,默认值:假

如果 True ,则选择器的 "square" 形状是在数据坐标而不是显示坐标中定义的。

例子

>>> import matplotlib.pyplot as plt
>>> import matplotlib.widgets as mwidgets
>>> fig, ax = plt.subplots()
>>> ax.plot([1, 2, 3], [10, 50, 100])
>>> def onselect(eclick, erelease):
...     print(eclick.xdata, eclick.ydata)
...     print(erelease.xdata, erelease.ydata)
>>> props = dict(facecolor='blue', alpha=0.5)
>>> rect = mwidgets.RectangleSelector(ax, onselect, interactive=True,
...                                   props=props)
>>> fig.show()
>>> rect.add_state('square')

另请参阅:矩形和椭圆选择器

相关用法


注:本文由纯净天空筛选整理自skytowner.com大神的英文原创作品 matplotlib.widgets.RectangleSelector。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。