| text {graphics} | R Documentation |
Add Text to a Plot
Description
text draws the strings given in the vector labels at the
coordinates given by x and y.
y may be missing since xy.coords(x,y) is used for
construction of the coordinates.
Usage
text(x, ...)
## Default S3 method:
text(x, y = NULL, labels = seq(along = x), adj = NULL,
pos = NULL, offset = 0.5, vfont = NULL,
cex = 1, col = NULL, font = NULL, ...)
Arguments
x, y |
numeric vectors of coordinates where the text
|
labels |
a character vector or expression specifying
the text to be written. An attempt is made to coerce other
language objects (names and calls) to expressions, and vectors and
other classed objects to character vectors by |
adj |
one or two values in |
pos |
a position specifier for the text. If specified this
overrides any |
offset |
when |
vfont |
if a character vector of length 2 is specified, then Hershey vector fonts are used. The first element of the vector selects a typeface and the second element selects a style. |
cex |
numeric character expansion factor; multiplied
by |
col, font |
the color and font to be used, possibly vectors.
These default to the values of the global graphical parameters in
|
... |
further graphical parameters (from |
Details
labels must be of type character or
expression (or be coercible to such a type).
In the latter case, quite a bit of
mathematical notation is available such as sub- and superscripts,
greek letters, fractions, etc.
adj allows adjustment of the text with respect to (x,y).
Values of 0, 0.5, and 1 specify left/bottom, middle and
right/top, respectively. The default is for centered text, i.e.,
adj = c(0.5, 0.5). Accurate vertical centering needs
character metric information on individual characters, which is
only available on some devices.
The pos and offset arguments can be used in conjunction
with values returned by identify to recreate an interactively
labelled plot.
Text can be rotated by using graphical parameters srt (see
par); this rotates about the centre set by adj.
Graphical parameters col, cex and font can be
vectors and will then be applied cyclically to the labels (and
extra values will be ignored). NA values of font are
replaced by par("font").
Labels whose x, y, labels, cex or col
value is NA are omitted from the plot.
Euro symbol
The Euro symbol was introduced relatively recently, and may not be
available in older fonts. In recent versions of Adobe symbol fonts it
is character 160, so text(x, y, "\xA0", font = 5) will work.
People using Western European locales on Unix-alikes can probably
select ISO-8895-15 (Latin-9) which has the Euro as character 165: this
can also be used for postscript and pdf.
The Euro should be rendered correctly by X11 in UTF-8
locales, but the corresponding single-byte encoding in
postscript and pdf will be to be selected
as ISOLatin9.enc.
References
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth \& Brooks/Cole.
Murrell, P. (2005) R Graphics. Chapman & Hall/CRC Press.
See Also
mtext, title,
Hershey for details on Hershey vector fonts,
plotmath for details and more examples on
mathematical annotation.
Examples
plot(-1:1,-1:1, type = "n", xlab = "Re", ylab = "Im")
K <- 16; text(exp(1i * 2 * pi * (1:K) / K), col = 2)
## The following two examples use latin1 characters: these may not
## appear correctly (or be omitted entirely).
plot(1:10, 1:10, main = "text(...) examples\n~~~~~~~~~~~~~~",
sub = "R is GNU ©, but not ® ...")
mtext("«Latin-1 accented chars»: éè øØ å<Å æ<Æ", side=3)
points(c(6,2), c(2,1), pch = 3, cex = 4, col = "red")
text(6, 2, "the text is CENTERED around (x,y) = (6,2) by default",
cex = .8)
text(2, 1, "or Left/Bottom - JUSTIFIED at (2,1) by 'adj = c(0,0)'",
adj = c(0,0))
text(4, 9, expression(hat(beta) == (X^t * X)^{-1} * X^t * y))
text(4, 8.4, "expression(hat(beta) == (X^t * X)^{-1} * X^t * y)", cex = .75)
text(4, 7, expression(bar(x) == sum(frac(x[i], n), i==1, n)))
## Two more latin1 examples
text(5,10.2,
"Le français, c'est façile: Règles, Liberté, Egalité, Fraternité...")
text(5,9.8, "Jetz no chli züritüütsch: (noch ein bißchen Zürcher deutsch)")