Learn R Programming

sfsmisc (version 1.1-23)

n.plot: Name Plot: Names or Numbers instead of Points in Plot

Description

A utility function which basically calls plot(*, type="n") and text. To have names or numbers instead of points in a plot is useful for identifaction, e.g., in a residual plot, see also TA.plot.

Usage

n.plot(x, y = NULL, nam = NULL, abbr = n >= 20 || max(nchar(nam))>=8,
       type = "n", xlab = NULL, ylab = NULL, log = "",
       cex = par("cex"), col = par("col"), pt.col = par("col"), ...)

Value

invisibly, a character vector with the labels used.

Arguments

x, y

coordinates at which to plot. If y is missing, x is used for both, if it's a data.frame, list, 2-column matrix etc -- via xy.coords; formula do not work.

nam

the labels to plot at each (x,y). Per default, these taken from the data x and y; case numbers 1:n are taken if no names are available.

abbr

logical indicating if the nam labels should be abbreviated -- with a sensible default.

type

passed to plot.default,a string denoting the type of the initial plot() call; the default draws nothing but the axes, etc; type = "l" maybe useful occasionally.

xlab, ylab

labels for the x- and y- axis, the latter being empty by default.

log

character specifying if log scaled axes should be used, see plot.default.

cex

plotting character expansion, see par.

col

color to use for text().

pt.col

color to use for plot() if type is set different to "n".

...

further arguments to be passed to the plot call.

Author

Martin Maechler, since 1992

See Also

Examples

Run this code
 n.plot(1:20, cumsum(rnorm(20)))
 data(cars)
 with(cars, n.plot(speed, dist, cex = 0.8, col = "forest green"))

## visualize periodicity of  exp()   {pass args to plot.default() via `...`}
cpxN <- function(r,i) setNames(complex(real=r, imaginary=i), i)
n.plot(exp(cpxN(2, 0:32)), type = "l", pt.col = "gray", asp = 1,
       col = adjustcolor(rainbow(33), offset = rep(-1/4, 4)),
       panel.first = abline(h=0, v=0, lty=3, col="gray30"))
symbols(0,0, circles = exp(2), inches=FALSE, fg = adjustcolor(2, 1/3), lwd=3, add=TRUE)

Run the code above in your browser using DataLab