#### 15.2.10 Interacting with Plots

The user can select points on a plot with the `ginput` function or select the position at which to place text on the plot with the `gtext` function using the mouse.

[x, y, buttons] = ginput (n)
[x, y, buttons] = ginput ()

  Return the position and type of mouse button clicks and/or key strokes in the current figure window.

  If n is defined, then capture n events before returning. When n is not defined `ginput` will loop until the return key `RET` is pressed.

  The return values x, y are the coordinates where the mouse was clicked in the units of the current axes. The return value button is 1, 2, or 3 for the left, middle, or right button. If a key is pressed the ASCII value is returned in button.

  Implementation Note: `ginput` is intenteded for 2-D plots. For 3-D plots see the currentpoint property of the current axes which can be transformed with knowledge of the current `view` into data units.

  See also: gtext, waitforbuttonpress.

waitforbuttonpress ()
b = waitforbuttonpress ()

  Wait for mouse click or key press over the current figure window.

  The return value of b is 0 if a mouse button was pressed or 1 if a key was pressed.

  See also: waitfor, ginput, kbhit.

gtext (s)
gtext ({s1, s2, …})
gtext ({s1; s2; …})
gtext (…, prop, val, …)
h = gtext (…)

  Place text on the current figure using the mouse.

  The text is defined by the string s. If s is a cell string organized as a row vector then each string of the cell array is written to a separate line. If s is organized as a column vector then one string element of the cell array is placed for every mouse click.

  Optional property/value pairs are passed directly to the underlying text objects.

  The optional return value h is a graphics handle to the created text object(s).

  See also: ginput, text.

More sophisticated user interaction mechanisms can be obtained using the ui* family of functions, see UI Elements.