AF7*_*AF7 2 plot r ggplot2 gridextra
使用ggplot2和gridExtra在R中,我有一个tableGrob我想要绘制和保存的.
假设它是一个像这样的小桌子(您可以使用biult-in数据集自己尝试iris):
ggsave(plot=tableGrob(head(iris[,1:3])), filename="test.png")
Run Code Online (Sandbox Code Playgroud)
太棒了,它有效!但是...在表格周围绘制了大量的空白区域,因为ggsave默认为w=7, h=7(英寸),并且表格不会向上扩展以覆盖该空间.我可以指定w和h手动,但我必须绘制许多表,这将是一个大量的工作,找到所有正确的价值观.
如果我试图绘制一个更大的表格:
ggsave(plot=tableGrob(iris), filename="test2.png")
Run Code Online (Sandbox Code Playgroud)
那么,如何根据绘图大小自动告知绘制的表格重新调整?或者我如何判断ggsave将图像空间调整到合适的大小?
tg = gridExtra::tableGrob(iris[1:40,])
h = grid::convertHeight(sum(tg$heights), "in", TRUE)
w = grid::convertWidth(sum(tg$widths), "in", TRUE)
ggplot2::ggsave("test.pdf", tg, width=w, height=h)
Run Code Online (Sandbox Code Playgroud)
注意:左边的小白边是由于rownames是右对齐的,可以通过调整填充来删除它.