如何调整tableGrob的字体大小

25

您有没有想过如何调整表格图形(tableGrob)的字体大小?我正在使用 gridExtra 2.0.0,这似乎与之前的版本0.9.3非常不同。

g <- tableGrob(mtcars)
grid.arrange(g)

enter image description here

我想要调整表格中文本、头部和行名称的字体大小。


与此问题相关 - baptiste
2个回答

36

你可以通过主题来实现这个:

mytheme <- gridExtra::ttheme_default(
    core = list(fg_params=list(cex = 2.0)),
    colhead = list(fg_params=list(cex = 1.0)),
    rowhead = list(fg_params=list(cex = 1.0)))

myt <- gridExtra::tableGrob(mtcars[1:5, 1:5], theme = mytheme)

grid.draw(myt)

browseVignettes("gridExtra") 中还有许多其他示例 - 查看 tableGrob 示例。非常多的控制是可能的。


谢谢Bryan,它像魔法一样奏效。感谢您的帮助和示例链接。 - user2103970
非常乐意。如果您真的想进行大量的详细格式设置,请查看Github版本上的tableGrob文档。那里的文档有许多额外的示例,特别是关于向表格添加线条和框的部分。当然,您需要安装该版本才能使用它。 - Bryan Hanson
这听起来像是我正在寻找的东西。我正在尝试使用knitr转换为pdf / rmarkdown / ggplot / gridextra(用于表格)的组合来自动化报告,因此在格式/大小/定位方面有些挑战。我会查看github版本。 - user2103970
1
“the wiki”(https://github.com/baptiste/gridextra/wiki/tableGrob)提供的示例比CRAN文献更多,尽管其中一些需要使用dev版本才能正常工作。我已经通过顶级主题参数使全局字体大小更加简单易变。 - baptiste
Bryan和Baptiste,你们知道如何调整grid.arrange的输出大小吗?自从我开始使用gridExtra/grid以来,我注意到输出的大小似乎有点小。我通常在grid.arrange中放置ggplot图表和tablegrob,就像这样(grid.arrange(ggplotchart,tblTableGrob,ncol=2,nrow=1)),在使用knitr和rmarkdown生成的pdf中。图像很小,在pdf文档的边缘仍然有很多空白空间。我想知道是否有办法调整图像大小?这是否与视口有关,我需要扩大视口的大小? - user2103970

10

您还可以使用 base_size 轻松更改通用字体大小。

grid.draw(tableGrob(head(mtcars, n=10),theme=ttheme_minimal(base_size = 5) ))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接