matplotlib.pyplot.ginput(n=1, timeout=30, show_clicks=True, mouse_add=<MouseButton.LEFT: 1>, mouse_pop=<MouseButton.RIGHT: 3>, mouse_stop=<MouseButton.MIDDLE: 2>)[source]

Blocking call to interact with a figure.

Wait until the user clicks n times on the figure, and return the coordinates of each click in a list.

There are three possible interactions:

  • Add a point.
  • Remove the most recently added point.
  • Stop the interaction and return the points added so far.

The actions are assigned to mouse buttons via the arguments mouse_add, mouse_pop and mouse_stop.

nint, default: 1

Number of mouse clicks to accumulate. If negative, accumulate clicks until the input is terminated manually.

timeoutfloat, default: 30 seconds

Number of seconds to wait before timing out. If zero or negative will never timeout.

show_clicksbool, default: True

If True, show a red cross at the location of each click.

mouse_addMouseButton or None, default: MouseButton.LEFT

Mouse button used to add points.

mouse_popMouseButton or None, default: MouseButton.RIGHT

Mouse button used to remove the most recently added point.

mouse_stopMouseButton or None, default: MouseButton.MIDDLE

Mouse button used to stop input.

list of tuples

A list of the clicked (x, y) coordinates.


The keyboard can also be used to select points in case your mouse does not have one or more of the buttons. The delete and backspace keys act like right clicking (i.e., remove last point), the enter key terminates input and any other key (not already used by the window manager) selects a point.

Examples using matplotlib.pyplot.ginput