You are reading documentation for the unreleased version of Matplotlib. Try searching for the released version of this page instead?
Version 3.1.0.post1205+ged69d985c
matplotlib
Fork me on GitHub

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:
figure : Figure

Figure that holds the canvas.

keypresslock : widgets.LockDraw

LockDraw object to know if the canvas key_press_event is locked

messagelock : widgets.LockDraw

LockDraw object to know if the message is available to write

active_toggle

Currently toggled tools.

add_tool(self, 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 everytime the tool is triggered.

Parameters:
name : str

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

tool : class_like, i.e. str or type

Reference to find the class of the Tool to added.

See also

matplotlib.backend_tools.ToolBase
The base class for tools.

Notes

args and kwargs get passed directly to the tools constructor.

canvas

Canvas managed by FigureManager.

figure

Figure that holds the canvas.

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

Return the tool object, also accepts the actual tool for convenience.

Parameters:
name : str, ToolBase

Name of the tool, or the tool itself

warn : bool, optional

If this method should give warnings.

get_tool_keymap(self, name)[source]

Get the keymap associated with the specified tool.

Parameters:
name : string

Name of the Tool

Returns:
list : list of keys associated with the Tool
message_event(self, message, sender=None)[source]

Emit a ToolManagerMessageEvent.

remove_tool(self, name)[source]

Remove tool named name.

Parameters:
name : string

Name of the Tool

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

Bind the given figure to the tools.

Parameters:
figure : Figure
update_tools : bool

Force tools to update figure

toolmanager_connect(self, s, func)[source]

Connect event with string s to func.

Parameters:
s : String

Name of the event

The following events are recognized

  • 'tool_message_event'
  • 'tool_removed_event'
  • 'tool_added_event'

For every tool added a new event is created

  • 'tool_trigger_TOOLNAME` Where TOOLNAME is the id of the tool.
func : function

Function to be called with signature def func(event)

toolmanager_disconnect(self, cid)[source]

Disconnect callback id cid.

Example usage:

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

A dict mapping tool name -> controlled tool.

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

Trigger a tool and emit the tool_trigger_{name} event.

Parameters:
name : string

Name of the tool

sender : object

Object that wishes to trigger the tool

canvasevent : Event

Original Canvas event or None

data : Object

Extra data to pass to the tool when triggering

update_keymap(self, name, *keys)[source]

Set the keymap to associate with the specified tool.

Parameters:
name : string

Name of the Tool

keys : keys to associate with the Tool
class matplotlib.backend_managers.ToolManagerMessageEvent(name, sender, message)[source]

Bases: object

Event carrying messages from toolmanager.

Messages usually get displayed to the user by the toolbar.

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

Bases: matplotlib.backend_managers.ToolEvent

Event to inform that a tool has been triggered.