R语言
calcStringMetric
位于 grid
包(package)。 说明
此函数返回字符或表达式向量的上升、下降和宽度度量信息。
用法
calcStringMetric(text)
参数
text |
字符或表达向量。 |
值
包含三个数字组件的列表,名为 ascent、descent 和 width。所有值均以英寸为单位。
警告
此函数的度量信息基于调用此函数时有效的字体设置。它不一定对应于页面上绘制的任何文本的度量信息。
例子
grid.newpage()
grid.segments(.01, .5, .99, .5, gp=gpar(col="grey"))
metrics <- calcStringMetric(letters)
grid.rect(x=1:26/27,
width=unit(metrics$width, "inches"),
height=unit(metrics$ascent, "inches"),
just="bottom",
gp=gpar(col="red"))
grid.rect(x=1:26/27,
width=unit(metrics$width, "inches"),
height=unit(metrics$descent, "inches"),
just="top",
gp=gpar(col="red"))
grid.text(letters, x=1:26/27, just="bottom")
test <- function(x) {
grid.text(x, just="bottom")
metric <- calcStringMetric(x)
if (is.character(x)) {
grid.rect(width=unit(metric$width, "inches"),
height=unit(metric$ascent, "inches"),
just="bottom",
gp=gpar(col=rgb(1,0,0,.5)))
grid.rect(width=unit(metric$width, "inches"),
height=unit(metric$descent, "inches"),
just="top",
gp=gpar(col=rgb(1,0,0,.5)))
} else {
grid.rect(width=unit(metric$width, "inches"),
y=unit(.5, "npc") + unit(metric[2], "inches"),
height=unit(metric$ascent, "inches"),
just="bottom",
gp=gpar(col=rgb(1,0,0,.5)))
grid.rect(width=unit(metric$width, "inches"),
height=unit(metric$descent, "inches"),
just="bottom",
gp=gpar(col=rgb(1,0,0,.5)))
}
}
tests <- list("t",
"test",
"testy",
"test\ntwo",
expression(x),
expression(y),
expression(x + y),
expression(a + b),
expression(atop(x + y, 2)))
grid.newpage()
nrowcol <- n2mfrow(length(tests))
pushViewport(viewport(layout=grid.layout(nrowcol[1], nrowcol[2]),
gp=gpar(cex=5, lwd=.5)))
for (i in 1:length(tests)) {
col <- (i - 1) %% nrowcol[2] + 1
row <- (i - 1) %/% nrowcol[2] + 1
pushViewport(viewport(layout.pos.row=row, layout.pos.col=col))
test(tests[[i]])
popViewport()
}
作者
Paul Murrell
也可以看看
相关用法
- R grid.curve 在位置之间绘制曲线
- R legendGrob 构建一个图例 Grob
- R grid.draw 画一个网格
- R grid.stroke 描边或填充路径
- R viewportTransform 定义组转换
- R grid.raster 渲染光栅对象
- R showGrob 标签网格块
- R gridCoords 为网格对象创建坐标集
- R unit.pmin 并行单元最小值和最大值
- R grid.points 绘制数据符号
- R grid.force 强制将一个对象放入其组件中
- R grobCoords 计算 Grob 周长上的点
- R unit.rep 复制单元对象的元素
- R Working 维护和导航网格视口树
- R grid.display.list 控制网格显示列表
- R dataViewport 根据数据创建带有比例的视口
- R stringWidth 创建说明字符串或数学表达式的宽度和高度的单位
- R grid.show.viewport 绘制网格视口图
- R validDetails 自定义网格 grob 验证
- R grid.segments 绘制线段
- R grid.frame 创建用于包装对象的框架
- R gPath 连接 Grob 名称
- R grid.group 画一个组
- R editViewport 修改视口
- R showViewport 显示网格视口
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Calculate Metric Information for Text。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。