如何绘制和保存 tableGrob 对象
How to plot and save tableGrob objects
在 R 中使用 ggplot2
和 gridExtra
,我有一个 tableGrob
,我想绘制并保存它。
假设它是一个像这样的小table(你可以用内置数据集iris
自己试试):
ggsave(plot=tableGrob(head(iris[,1:3])), filename="test.png")
查看结果:
太棒了,效果很好!但是...在 table 周围绘制了很多白色 space,因为 ggsave
默认为 w=7, h=7
(英寸),并且 table 不会按比例放大覆盖 space。
我可以手动指定 w
和 h
,但我必须绘制 many tables 并且找到所有正确的价值观。
如果我尝试绘制更大的 table:
ggsave(plot=tableGrob(iris), filename="test2.png")
...它不再合适了!
那么,我如何自动告诉绘制的table根据绘图大小重新调整?或者我如何告诉 ggsave
将图像 space 调整到合适的大小?
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)
注意:左边的小白边是由于行名是右对齐的,它可以被移除,例如通过调整填充。
在 R 中使用 ggplot2
和 gridExtra
,我有一个 tableGrob
,我想绘制并保存它。
假设它是一个像这样的小table(你可以用内置数据集iris
自己试试):
ggsave(plot=tableGrob(head(iris[,1:3])), filename="test.png")
查看结果:
太棒了,效果很好!但是...在 table 周围绘制了很多白色 space,因为 ggsave
默认为 w=7, h=7
(英寸),并且 table 不会按比例放大覆盖 space。
我可以手动指定 w
和 h
,但我必须绘制 many tables 并且找到所有正确的价值观。
如果我尝试绘制更大的 table:
ggsave(plot=tableGrob(iris), filename="test2.png")
...它不再合适了!
那么,我如何自动告诉绘制的table根据绘图大小重新调整?或者我如何告诉 ggsave
将图像 space 调整到合适的大小?
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)
注意:左边的小白边是由于行名是右对齐的,它可以被移除,例如通过调整填充。