本文簡要介紹 python 語言中 matplotlib.widgets.RectangleSelector
的用法。
-
基礎:
_SelectorWidget
選擇軸的矩形區域。
要使光標保持響應,您必須保留對它的引用。
在選擇之外的相同坐標處觸發的按下和釋放事件將清除選擇器,但
ignore_event_outside=True
除外。- 參數:
- ax
Axes
-
小部件的父軸。
- onselect 函數
-
在發布事件和創建、更改或刪除選擇之後調用的回調函數。它必須有簽名:
def onselect(eclick: MouseEvent, erelease: MouseEvent)
其中
eclick
和erelease
是鼠標單擊並釋放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"
-
是否在數據或像素坐標中解釋
minspanx
和minspany
。 - 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" 形狀是在數據坐標而不是顯示坐標中定義的。
- 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(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')
另請參閱:矩形和橢圓選擇器
用法
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)
相關用法
- Python matplotlib Rectangle用法及代碼示例
- Python matplotlib Rectangle.set_bounds用法及代碼示例
- Python matplotlib RendererAgg.stop_filter用法及代碼示例
- Python matplotlib RendererAgg.restore_region用法及代碼示例
- Python matplotlib RegularPolyCollection.sticky_edges用法及代碼示例
- Python matplotlib RegularPolyCollection.set_hatch用法及代碼示例
- Python matplotlib RegularPolyCollection用法及代碼示例
- Python matplotlib RGBAxes用法及代碼示例
- Python matplotlib axvspan用法及代碼示例
- Python matplotlib Axes.get_legend_handles_labels用法及代碼示例
- Python matplotlib AbstractMovieWriter用法及代碼示例
- Python matplotlib triplot用法及代碼示例
- Python matplotlib StarPolygonCollection.set_hatch用法及代碼示例
- Python matplotlib Axes.hist用法及代碼示例
- Python matplotlib boxplot用法及代碼示例
- Python matplotlib subplots用法及代碼示例
- Python matplotlib InsetPosition用法及代碼示例
- Python matplotlib ToolManager.toolmanager_disconnect用法及代碼示例
- Python matplotlib Figure.set_size_inches用法及代碼示例
- Python matplotlib figlegend用法及代碼示例
- Python matplotlib Axes.step用法及代碼示例
- Python matplotlib Axes.contour用法及代碼示例
- Python matplotlib LassoSelector用法及代碼示例
- Python matplotlib BrokenBarHCollection.set_hatch用法及代碼示例
- Python matplotlib Axes.plot用法及代碼示例
注:本文由純淨天空篩選整理自skytowner.com大神的英文原創作品 matplotlib.widgets.RectangleSelector。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。