matplotlib.backend_managers#

class matplotlib.backend_managers.ToolEvent(name, sender, tool, data=None)[源代码][源代码]#

基类:object

工具操作事件(添加/移除)。

class matplotlib.backend_managers.ToolManager(figure=None)[源代码][源代码]#

基类:object

用于管理用户交互(按键、工具栏点击等)触发的图表操作的控制器。

属性:
figure

包含画布的图形。

keypresslockLockDraw

LockDraw 对象用于判断 canvas key_press_event 是否被锁定。

messagelockLockDraw

LockDraw 对象用于判断消息是否可写。

property active_toggle#

当前切换的工具。

add_tool(name, tool, *args, **kwargs)[源代码][源代码]#

工具 添加到 ToolManager

如果成功,将添加一个新事件 tool_trigger_{name} ,其中 {name} 是工具的 名称 ;每次触发工具时都会触发该事件。

参数:
名称str

工具的名称,作为ID处理,必须是唯一的。

工具类型

要添加的工具的类。如果当前画布类注册了子类,则将使用该子类。

*args, **kwargs

传递给 工具 的构造函数。

参见

matplotlib.backend_tools.ToolBase

工具的基类。

property canvas#

由 FigureManager 管理的画布。

property figure#

包含画布的图形。

get_tool(name, warn=True)[源代码][源代码]#

返回具有给定名称的工具对象。

为了方便,这会传递工具对象。

参数:
name : str 或 ToolBasestr 或

工具的名称,或工具本身。

警告bool, 默认值: True

如果没有指定名称的工具存在,是否应发出警告。

返回:
ToolBase 或 None

如果存在具有给定名称的工具,则返回该工具,否则返回 None。

get_tool_keymap(name)[源代码][源代码]#

返回与指定工具关联的键映射。

参数:
名称str

工具名称。

返回:
list of str

与工具关联的键列表。

message_event(message, sender=None)[源代码][源代码]#

发出一个 ToolManagerMessageEvent

remove_tool(name)[源代码][源代码]#

移除名为 name 的工具。

参数:
名称str

工具的名称。

set_figure(figure, update_tools=True)[源代码][源代码]#

将给定的图形绑定到工具上。

参数:
figure
更新工具bool, 默认值: True

强制工具更新图形。

toolmanager_connect(s, func)[源代码][源代码]#

将字符串 sfunc 连接的事件。

参数:
sstr

事件的名称。以下事件被识别:

  • '工具消息事件'

  • 'tool_removed_event'

  • '工具添加事件'

每添加一个工具,都会创建一个新的事件

  • 'tool_trigger_TOOLNAME',其中 TOOLNAME 是工具的 ID。

函数可调用

工具管理器事件的回调函数,签名如下:

def func(event: ToolEvent) -> Any
返回:
cid

连接的回调ID。这可以在 toolmanager_disconnect 中使用。

toolmanager_disconnect(cid)[源代码][源代码]#

断开回调ID cid

示例用法:

cid = toolmanager.toolmanager_connect('tool_trigger_zoom', onpress)
#...later
toolmanager.toolmanager_disconnect(cid)
property tools#

一个映射工具名称 -> 受控工具的字典。

trigger_tool(name, sender=None, canvasevent=None, data=None)[源代码][源代码]#

触发一个工具并发出 tool_trigger_{name} 事件。

参数:
名称str

工具的名称。

发送者对象

希望触发工具的对象。

canvasevent事件

原始画布事件或无。

数据对象

触发工具时传递的额外数据。

update_keymap(name, key)[源代码][源代码]#

设置与指定工具关联的键盘映射。

参数:
名称str

工具名称。

关键str 或 str 列表

与工具关联的键。

class matplotlib.backend_managers.ToolManagerMessageEvent(name, sender, message)[源代码][源代码]#

基类:object

从工具管理器携带消息的事件。

消息通常通过工具栏显示给用户。

class matplotlib.backend_managers.ToolTriggerEvent(name, sender, tool, canvasevent=None, data=None)[源代码][源代码]#

基类:ToolEvent

通知工具已被触发的消息。