matplotlib.blocking_input

Classes used for blocking interaction with figure windows:

BlockingInput
Creates a callable object to retrieve events in a blocking way for interactive sessions. Base class of the other classes listed here.
BlockingKeyMouseInput
Creates a callable object to retrieve key or mouse clicks in a blocking way for interactive sessions. Used by waitforbuttonpress.
BlockingMouseInput
Creates a callable object to retrieve mouse clicks in a blocking way for interactive sessions. Used by ginput.
BlockingContourLabeler
Creates a callable object to retrieve mouse clicks in a blocking way that will then be used to place labels on a ContourSet. Used by clabel.
class matplotlib.blocking_input.BlockingContourLabeler(cs)[source]

Bases: matplotlib.blocking_input.BlockingMouseInput

Callable for retrieving mouse clicks and key presses in a blocking way.

Used to place contour labels.

add_click(event)[source]

Add the coordinates of an event to the list of clicks.

Parameters:
eventMouseEvent
button1(event)[source]

Process an button-1 event (add a label to a contour).

Parameters:
eventMouseEvent
button3(event)[source]

Process an button-3 event (remove a label if not in inline mode).

Unfortunately, if one is doing inline labels, then there is currently no way to fix the broken contour - once humpty-dumpty is broken, he can't be put back together. In inline mode, this does nothing.

Parameters:
eventMouseEvent
pop_click(event, index=- 1)[source]

Remove a click (by default, the last) from the list of clicks.

Parameters:
eventMouseEvent
class matplotlib.blocking_input.BlockingInput(fig, eventslist=())[source]

Bases: object

Callable for retrieving events in a blocking way.

add_event(event)[source]

For base class, this just appends an event to events.

cleanup()[source]

Disconnect all callbacks.

on_event(event)[source]

Event handler; will be passed to the current figure to retrieve events.

pop(index=- 1)

Remove an event from the event list -- by default, the last.

Note that this does not check that there are events, much like the normal pop method. If no events exist, this will throw an exception.

pop_event(index=- 1)[source]

Remove an event from the event list -- by default, the last.

Note that this does not check that there are events, much like the normal pop method. If no events exist, this will throw an exception.

post_event()[source]

For baseclass, do nothing but collect events.

class matplotlib.blocking_input.BlockingKeyMouseInput(fig)[source]

Bases: matplotlib.blocking_input.BlockingInput

Callable for retrieving mouse clicks and key presses in a blocking way.

post_event()[source]

Determine if it is a key event.

class matplotlib.blocking_input.BlockingMouseInput(fig, mouse_add=<MouseButton.LEFT: 1>, mouse_pop=<MouseButton.RIGHT: 3>, mouse_stop=<MouseButton.MIDDLE: 2>)[source]

Bases: matplotlib.blocking_input.BlockingInput

Callable for retrieving mouse clicks in a blocking way.

This class will also retrieve keypresses and map them to mouse clicks: delete and backspace are a right click, enter is like a middle click, and all others are like a left click.

add_click(event)[source]

Add the coordinates of an event to the list of clicks.

Parameters:
eventMouseEvent
button_add = 1
button_pop = 3
button_stop = 2
cleanup(event=None)[source]
Parameters:
eventMouseEvent, optional

Not used

key_event()[source]

Process a key press event, mapping keys to appropriate mouse clicks.

mouse_event()[source]

Process a mouse click event.

mouse_event_add(event)[source]

Process an button-1 event (add a click if inside axes).

Parameters:
eventMouseEvent
mouse_event_pop(event)[source]

Process an button-3 event (remove the last click).

Parameters:
eventMouseEvent
mouse_event_stop(event)[source]

Process an button-2 event (end blocking input).

Parameters:
eventMouseEvent
pop(event, index=- 1)[source]

Remove a click and the associated event from the list of clicks.

Defaults to the last click.

pop_click(event, index=- 1)[source]

Remove a click (by default, the last) from the list of clicks.

Parameters:
eventMouseEvent
post_event()[source]

Process an event.