Rev 35751 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\name{identify}\alias{identify}\alias{identify.default}\title{Identify Points in a Scatter Plot}\usage{identify(x, \dots)\method{identify}{default}(x, y = NULL, labels = seq(along = x), pos = FALSE,n = length(x), plot = TRUE, atpen = FALSE, offset = 0.5,tolerance = 0.25, \dots)}\arguments{\item{x,y}{coordinates of points in a scatter plot. Alternatively, anyobject which defines coordinates (a plotting structure, timeseries etc: see \code{\link{xy.coords}}) can be given as \code{x},and \code{y} left undefined.}\item{labels}{an optional vector, the same length as \code{x} and\code{y}, giving labels for the points.}\item{pos}{if \code{pos} is \code{TRUE}, a component is added to thereturn value which indicates where text was plotted relative to eachidentified point: see Value.}\item{n}{the maximum number of points to be identified.}\item{plot}{logical: if \code{plot} is \code{TRUE}, the labels are printed atthe points and if \code{FALSE} they are omitted.}\item{atpen}{logical: if \code{TRUE} and \code{plot = TRUE}, thelower-left corners of the labels are plotted at the points clickedrather than relative to the points.}\item{offset}{the distance (in character widths) which separates thelabel from identified points. Ignored if \code{atpen = TRUE} or\code{pos = 0}.}\item{tolerance}{the maximal distance (in inches) for the pointer to be\sQuote{close enough} to a point.}\item{\dots}{further arguments passed to \code{\link{par}} such as\code{cex}, \code{col} and \code{font}.}}\description{\code{identify} reads the position of the graphics pointer when the(first) mouse button is pressed. It then searches the coordinatesgiven in \code{x} and \code{y} for the point closest to the pointer.If this point is close enough to the pointer, its index will be returned aspart of the value of the call.}\details{\code{identify} is only supported on screen devices such as\code{X11}, \code{windows} and \code{quartz}. On other devices thecall will do nothing.If \code{plot} is \code{TRUE}, the point is labelled withthe corresponding element of \code{text}.The labels are placed below, to the left, above or to the rightof the identified point, depending on where the cursor was relative tothe point.#ifdef unixFor the usual \code{\link{X11}} device the identification process isterminated by pressing any mouse button other than the first.For the \code{\link{quartz}} device the process is terminated bypressing the \code{ESC} key.#endif#ifdef windowsThe identification process is terminated by clicking the second buttonand selecting \sQuote{Stop} from the menu, or from the \sQuote{Stop}menu on the graphics window.#endifOn most devices which support \code{identify}, successful selection ofa point is indicated by a bell sound unless\code{\link{options}(locatorBell = FALSE)} has been set.If the window is resized or hidden and then exposed before the identificationprocess has terminated, any labels drawn by \code{identify}will disappear. These will reappear once the identification process hasterminated and the window is resized or hidden and exposed again.This is because the labels drawn by \code{identify} are notrecorded in the device's display list until the identification process hasterminated.}\value{If \code{pos} is \code{FALSE}, an integervector containing the indexes of the identified points.If \code{pos} is \code{TRUE}, a list containing a component\code{ind}, indicating which points were identified and a component\code{pos}, indicating where the labels were placed relative to theidentified points (1=below, 2=left, 3=above, 4=right and 0=no offset,used if \code{atpen = TRUE}).}\references{Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)\emph{The New S Language}.Wadsworth \& Brooks/Cole.}\seealso{\code{\link{locator}}}\keyword{iplot}