#### 15.2.10 Interacting with Plots

The user can select points on a plot with the `ginput` function or selection the position at which to place text on the plot with the `gtext` function using the mouse. Menus may also be created and populated with specific user commands via the `uimenu` function.

— Function File: [x, y, buttons] = ginput (n)

> Return which mouse buttons were pressed and keys were hit on the current figure. If n is defined, then wait for n mouse clicks before returning. If n is not defined, then `ginput` will loop until the return key <RET> is pressed.

— Function File: b = waitforbuttonpress ()

> Wait for button or mouse press.over a figure window. The value of b returns 0 if a mouse button was pressed or 1 is a key was pressed.

> See also: ginput.

— Function File: gtext (s)
— Function File: gtext ({s1; s2; ...})
— Function File: gtext (..., prop, val)

> Place text on the current figure using the mouse. The text is defined by the string s. If s is a cell array, each element of the cell array is written to a separate line. Additional arguments are passed to the underlying text object as properties.

> See also: ginput, text.

— Function File: uimenu (property, value, ...)
— Function File: uimenu (h, property, value, ...)

> Create a uimenu object and return a handle to it. If h is ommited then a top-level menu for the current figure is created. If h is given then a submenu relative to h is created.

> uimenu objects have the following specific properties:

> "accelerator"
>   A string containing the key combination together with CTRL to execute this menu entry (e.g., "x" for CTRL+x).
> "callback"
>   Is the function called when this menu entry is executed. It can be either a function string (e.g., "myfun"), a function handle (e.g., @myfun) or a cell array containing the function handle and arguments for the callback function (e.g., {@myfun, arg1, arg2}).
> "checked"
>   Can be set "on" or "off". Sets a mark at this menu entry.
> "enable"
>   Can be set "on" or "off". If disabled the menu entry cannot be selected and it is grayed out.
> "foregroundcolor"
>   A color value setting the text color for this menu entry.
> "label"
>   A string containing the label for this menu entry. A "&"-symbol can be used to mark the "accelerator" character (e.g., "E&xit")
> "position"
>   An scalar value containing the relative menu position. The entry with the lowest value is at the first position starting from left or top.
> "separator"
>   Can be set "on" or "off". If enabled it draws a separator line above the current position. It is ignored for top level entries.

> Examples:

>               f = uimenu ("label", "&File", "accelerator", "f");
>               e = uimenu ("label", "&Edit", "accelerator", "e");
>               uimenu (f, "label", "Close", "accelerator", "q", ...
>                          "callback", "close (gcf)");
>               uimenu (e, "label", "Toggle &Grid", "accelerator", "g", ...
>                          "callback", "grid (gca)");

> See also: figure.