matplotlib.backend_managers
#
- class matplotlib.backend_managers.ToolEvent(name, sender, tool, data=None)[source]#
基类:
object
工具操作(添加/移除)事件。
- class matplotlib.backend_managers.ToolManager(figure=None)[source]#
基类:
object
管理由用户交互(按键、工具栏点击等)在图形上触发的操作。
- 属性:
- property active_toggle#
当前切换的工具。
- add_tool(name, tool, *args, **kwargs)[source]#
将 tool 添加到
ToolManager
。如果成功,将添加一个新事件
tool_trigger_{name}
,其中{name}
是工具的 name;每次工具被触发时,该事件都会被触发。- 参数:
- namestr
工具的名称,作为ID处理,必须是唯一的。
- tooltype
要添加的工具类。如果当前画布类已注册子类,则将使用该子类。
- *args, **kwargs
传递给 tool 的构造函数。
另请参阅
- property canvas#
由 FigureManager 管理的画布。
- property figure#
包含画布的图形。
- message_event(message, sender=None)[source]#
发出一个
ToolManagerMessageEvent
。
- set_figure(figure, update_tools=True)[source]#
将给定图形绑定到工具。
- 参数:
- figure
Figure
- update_toolsbool, 默认值: True
强制工具更新图形。
- figure
- toolmanager_connect(s, func)[source]#
将字符串 s 对应的事件连接到 func。
- 参数:
- sstr
事件名称。可识别以下事件
'tool_message_event'
'tool_removed_event'
'tool_added_event'
每添加一个工具,就会创建一个新事件
'tool_trigger_TOOLNAME',其中 TOOLNAME 是工具的 ID。
- funccallable
工具管理器事件的回调函数,其签名如下
def func(event: ToolEvent) -> Any
- 返回:
- cid
连接的回调 ID。可在
toolmanager_disconnect
中使用。
- toolmanager_disconnect(cid)[source]#
断开回调 ID cid。
示例用法
cid = toolmanager.toolmanager_connect('tool_trigger_zoom', onpress) #...later toolmanager.toolmanager_disconnect(cid)
- property tools#
一个将工具名称映射到受控工具的字典。