matplotlib.backend_managers#

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

Bases: object

Event for tool manipulation (add/remove).

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

Bases: object

Manager for actions triggered by user interactions (key press, toolbar clicks, ...) on a Figure.

Attributes:
figureFigure

Figure that holds the canvas.

keypresslockLockDraw

LockDraw object to know if the canvas key_press_event is locked.

messagelockLockDraw

LockDraw object to know if the message is available to write.

property active_toggle#

Currently toggled tools.

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

Add tool to ToolManager.

If successful, adds a new event tool_trigger_{name} where {name} is the name of the tool; the event is fired every time the tool is triggered.

Parameters:
namestr

Name of the tool, treated as the ID, has to be unique.

tooltype

Class of the tool to be added. A subclass will be used instead if one was registered for the current canvas class.

*args, **kwargs

Passed to the tool's constructor.

See also

matplotlib.backend_tools.ToolBase

The base class for tools.

property canvas#

Canvas managed by FigureManager.

property figure#

Figure that holds the canvas.

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

Return the tool object with the given name.

For convenience, this passes tool objects through.

Parameters:
namestr or ToolBase

Name of the tool, or the tool itself.

warnbool, default: True

Whether a warning should be emitted it no tool with the given name exists.

Returns:
ToolBase or None

The tool or None if no tool with the given name exists.

get_tool_keymap(name)[source]#

Return the keymap associated with the specified tool.

Parameters:
namestr

Name of the Tool.

Returns:
list of str

List of keys associated with the tool.

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

Emit a ToolManagerMessageEvent.

remove_tool(name)[source]#

Remove tool named name.

Parameters:
namestr

Name of the tool.

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

Bind the given figure to the tools.

Parameters:
figureFigure
update_toolsbool, default: True

Force tools to update figure.