matplotlib.backend_managers#

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

基类: object

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

class matplotlib.backend_managers.ToolManager(figure=None)[source]#

基类: object

管理由用户交互(按键、工具栏点击等)在图形上触发的操作。

属性:
figureFigure

包含画布的图形。

keypresslockLockDraw

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

messagelockLockDraw

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

property active_toggle#

当前切换的工具。

add_tool(name, tool, *args, **kwargs)[source]#

tool 添加到 ToolManager

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

参数:
namestr

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

tooltype

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

*args, **kwargs

传递给 tool 的构造函数。

另请参阅

matplotlib.backend_tools.ToolBase

工具的基类。

property canvas#

由 FigureManager 管理的画布。

property figure#

包含画布的图形。

get_tool(name, warn=True)[source]#

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

为方便起见,此方法会直接传递工具对象。

参数:
namestr or ToolBase

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

warnbool, 默认值: True

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

返回:
ToolBase 或 None

该工具,如果不存在具有给定名称的工具,则为 None。

get_tool_keymap(name)[source]#

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

参数:
namestr

工具名称。

返回:
str 列表

与工具关联的键列表。

message_event(message, sender=None)[source]#

发出一个 ToolManagerMessageEvent

remove_tool(name)[source]#

移除名为 name 的工具。

参数:
namestr

工具名称。

set_figure(figure, update_tools=True)[source]#

将给定图形绑定到工具。

参数:
figureFigure
update_toolsbool, 默认值: True

强制工具更新图形。

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#

一个将工具名称映射到受控工具的字典。

trigger_tool(name, sender=None, canvasevent=None, data=None)[source]#

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

参数:
namestr

工具名称。

senderobject

希望触发工具的对象。

canvaseventEvent

原始画布事件或 None。

dataobject

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

update_keymap(name, key)[source]#

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

参数:
namestr

工具名称。

keystr 或 str 列表

与工具关联的键。

class matplotlib.backend_managers.ToolManagerMessageEvent(name, sender, message)[source]#

基类: object

从工具管理器传递消息的事件。

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

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

基类: ToolEvent

通知工具已被触发的事件。