text
位于 graphics
包(package)。 说明
text
在 x
和 y
给出的坐标处绘制向量 labels
中给出的字符串。 y
可能会丢失,因为 xy.coords(x, y)
用于构建坐标。
用法
text(x, ...)
## Default S3 method:
text(x, y = NULL, labels = seq_along(x$x), adj = NULL,
pos = NULL, offset = 0.5, vfont = NULL,
cex = 1, col = NULL, font = NULL, ...)
参数
x , y |
应写入文本 |
labels |
字符向量或 expression 指定要写入的文本。尝试通过 |
adj |
中的一两个值指定标签的 x(以及可选的 y)调整 (‘justification’),其中 0 表示左/下,1 表示右/上,0.5 表示居中。在大多数设备上, 之外的值也适用。见下文。 |
pos |
文本的位置说明符。如果指定,它将覆盖任何给定的 |
offset |
当指定 |
vfont |
|
cex |
数字字符扩展因子;乘以 |
col , font |
要使用的颜色和(如果是 |
... |
进一步graphical parameters(来自 |
细节
labels
必须是 character
或 expression
类型(或者可强制为此类类型)。在后一种情况下,可以使用相当多的数学符号,例如下标和上标、希腊字母、分数等。
adj
允许调整相对于 (x, y)
的文本位置。值 0、0.5 和 1 指定 (x, y)
应分别与文本的左/下、中和右/上对齐。默认值是居中文本,即 adj = c(0.5, NA)
。准确的垂直居中需要单个字符的字符度量信息,该信息仅在某些设备上可用。字符串和表达式的垂直对齐方式略有不同:adj = c(0,0)
表示 left-justify,并且在字符串的基线上对齐,但在表达式的边界框底部对齐。这也会影响垂直居中:对于字符串,居中不包括任何下降符,而对于表达式,它包括它们。对字符串使用 NA
使其居中,包括下行部分。
pos
和 offset
参数可以与 identify
返回的值结合使用,以重新创建交互式标记图。
可以使用 graphical parameters srt
旋转文本(请参阅 par
)。当指定 adj
时,非零 srt
围绕 (x, y)
旋转标签。如果指定 pos
,则 srt
围绕其边界框上最接近 (x, y)
的点旋转文本:顶部中心为 pos = 1
,右侧中心为 pos = 2
,底部中心为 pos = 3
,以及pos = 4
的左中心。 pos
接口对于旋转文本没有那么有用,因为结果不再相对于 (x, y)
垂直或水平居中。目前graphics
包中没有用于直接围绕其中心旋转文本的接口,但是可以通过同时摆弄adj
和srt
来实现。
图形参数 col
、 cex
和 font
可以是向量,然后将循环应用于 labels
(额外的值将被忽略)。 font
的 NA
值替换为 par("font")
,col
也类似。
图中省略 x
、 y
或 labels
值为 NA
的标签。
选择font = 5
(符号字体)时发生的情况可以是设备和locale-dependent。大多数情况下,labels
将在 Adobe 符号编码中进行解释,因此例如"d"
是 delta,"\300"
是 aleph。
欧元符号
欧元符号在旧字体中可能不可用。在当前版本的 Adobe 符号字体中,它是字符 160,因此text(x,
y, "\xA0", font = 5)
可能有效。在类 Unix 上使用西欧语言环境的人可能会选择 ISO-8895-15 (Latin-9),其中欧元作为字符 165:这也可以用于postscript
和pdf
。这是 '\u20ac' 在 Unicode 中,可以在 UTF-8 语言环境中使用。
在 UTF-8 语言环境中,欧元应由 X11
正确呈现,但 postscript
和 pdf
中相应的单字节编码需要选择为 ISOLatin9.enc
(并且字体需要包含欧元)字形,例如较旧的打印机可能没有)。
例子
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 facile: Règles, Liberté, Egalité, Fraternité...")
text(5, 9.8,
"Jetz no chli züritüütsch: (noch ein bißchen Zürcher deutsch)")
参考
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.
也可以看看
text.formula
为公式方法; mtext
、 title
、 Hershey
了解 Hershey 矢量字体的详细信息,plotmath
了解数学注释的详细信息和更多示例。
相关用法
- R title 绘图注释
- R legend 将图例添加到绘图中
- R barplot 条形图
- R plot.histogram 绘制直方图
- R points 向绘图添加点
- R stem 茎叶图
- R mtext 将文本写入绘图的边距
- R arrows 将箭头添加到绘图中
- R contour 显示轮廓
- R pairs 散点图矩阵
- R stars 星图(蜘蛛图/雷达图)和线段图
- R box 在地块周围画一个方框
- R coplot 调节图
- R smoothScatter 具有平滑密度颜色表示的散点图
- R mosaicplot 马赛克图
- R bxp 从摘要中绘制箱线图
- R plot.raster 绘制光栅图像
- R axTicks 计算轴刻度线位置
- R curve 绘制函数图
- R plot.factor 绘制因子变量
- R sunflowerplot 制作向日葵散点图
- R plot.table 表对象的绘图方法
- R units 图形单位
- R identify 识别散点图中的点
- R layout 指定复杂的绘图安排
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Add Text to a Plot。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。