0
library(grid)
library(Gmisc)
grid.newpage()
gp <- gpar(fill = "lightgrey")
(total <- boxGrob("some text doesnt fit", 
                      x=0.55, y=.6, box_gp = gp,just = "center",width = 0.1,height = 0.1))

使用上面的代码,我想减小文本大小以适合框内。有 cex 或自动调整大小调用的简单方法吗?任何帮助,将不胜感激。

在此处输入图像描述

4

1 回答 1

0

没有自动调整大小的调用。您需要指定的是txt_gp参数,例如:

grid.newpage()
gp <- gpar(fill = "lightgrey")
(total <- boxGrob("some text doesnt fit", 
                  x=0.55, y=.6, 
                  box_gp = gp,
                  just = "center",
                  width = 0.1,
                  height = 0.1,
                  txt_gp = gpar(fontsize = 5)))

您可以尝试计算宽度并相应地调整它。目前,宽度是使用以下方法计算的:

txt_padding <- unit(4, "mm")
width <- grobWidth(txt) + txt_padding + txt_padding

只需尝试不同的尺寸,看看它是否在您的限制范围内。grobWidth 是grid包的一部分。

于 2019-07-07T20:17:54.537 回答