有谁知道如何确定在R中给定位置放置文本项所需的字体大小?
现在我可以改变fontsize并重复调用strwidth / strheight,直到文本大小适合,但这似乎效率很低。
我想要做的具体示例:我将draw.polygon称为以原始单位指定的特定高度和宽度,然后我想在此框中添加文本。我怎么能这样做?
答案 0 :(得分:1)
这是一个例子,
require(grid)
grid.newpage()
g1 <- grid.rect(width=unit(2, "cm"), height=unit(1.5, "line"))
g2 <- textGrob("this has to fit")
w1 <- convertWidth(grobWidth(g1), "mm", valueOnly=TRUE)
w2 <- convertWidth(grobWidth(g2), "mm", valueOnly=TRUE)
ratio <- w1 / w2
grid.draw(editGrob(g2, gp=gpar(cex=ratio)))