# showLabels

##### Utility Functions to Identify and Mark Extreme Points in a 2D Plot.

This function is called by several graphical functions in the `car`

package to mark extreme points in a 2D plot. Although the user is unlikely
to call this function directly, the documentation below applies to all
these other functions.

- Keywords
- utilities

##### Usage

```
showLabels(x, y, labels=NULL, id.method="identify",
id.n = length(x), id.cex=1, id.col=palette()[1], id.location="lr", ...)
```

##### Arguments

- x
Plotted horizontal coordinates.

- y
Plotted vertical coordinates.

- labels
Plotting labels. If

`NULL`

, case numbers will be used. If labels are long, the`substr`

or`abbreviate`

function can be used to shorten them.- id.method
How points are to be identified. See Details below.

- id.n
Number of points to be identified. If set to zero, no points are identified.

- id.cex
Controls the size of the plotted labels. The default is

`1`

.- id.col
Controls the color of the plotted labels.

- id.location
Where should the label be drawn? The default is

`"lr"`

to draw the label to the left of the point for points in the right-half of the graph and to the right for points in the left-half. The other option is`"ab"`

for above the point for points below the middle of the graph and above the point below the middle.- ...
additional arguments passed to

`identify`

or to`text`

.

##### Details

The argument `id.method`

determine how the points
to be identified are selected. For the default value of `id.method="identify"`

,
the `identify`

function is used to identify points
interactively using the mouse. Up to `id.n`

points can be identified,
so if `id.n=0`

, which is the default in many functions in the `car`

package, then no point identification is done.

Automatic point identification can be done depending on the value of the
argument `id.method`

.

`id.method = "x"`

select points according to their value of`abs(x - mean(x))`

`id.method = "y"`

select points according to their value of`abs(y - mean(y))`

`id.method = "r"`

select points according to their value of`abs(y)`

, as may be appropriate in residual plots, or others with a meaningful origin at 0`id.method = "mahal"`

Treat`(x, y)`

as if it were a bivariate sample, and select cases according to their Mahalanobis distance from`(mean(x), mean(y))`

`id.method`

can be a vector of the same length as`x`

consisting of values to determine the points to be labeled. For example, for a linear model`m`

, setting`id.method=cooks.distance(m), id.n=4`

will label the points corresponding to the four largest values of Cook's distance, or`id.method = which(abs(residuals(m, type="pearson")) > 2`

would label all observations with Pearson residuals greater than 2 in absolute value. Warning: If missing data are present, points may be incorrectly labelled.`id.method`

can be a vector of case numbers or case-labels, in which case those cases will be labeled. Warning: If missing data are present, a list of case numbers may identify the wrong points. A list of case labels, however, will work correctly with missing values.

With `showLabels`

, the `id.method`

argument can be a list, so, for
example `id.method=list("x", "y")`

would label according to the horizontal
and vertical axes variables.

Finally, if the axes in the graph are logged, the function uses logged-variables where appropriate.

##### Value

A utility function primarily used for its side-effect of drawing labels on a plot. Returns invisibly the labels of the selected points, or NULL if no points are selected. Although intended for use with other functions in the car package, this function can be used directly.

##### References

Fox, J. and Weisberg, S. (2011) *An R Companion to Applied Regression*,
Second Edition, Sage.

Weisberg, S. (2014) *Applied Linear Regression*, Fourth Edition, Wiley.

##### See Also

##### Examples

```
# NOT RUN {
plot(income ~ education, Prestige)
with(Prestige, showLabels(education, income,
labels = rownames(Prestige), id.method=list("x", "y"), id.n=3))
m <- lm(income ~ education, Prestige)
plot(income ~ education, Prestige)
abline(m)
with(Prestige, showLabels(education, income,
labels=rownames(Prestige), id.method=abs(residuals(m)), id.n=4))
# }
```

*Documentation reproduced from package car, version 2.1-6, License: GPL (>= 2)*