首页 > 解决方案 > 如何从 grid.table 窗口中删除空白边距?

问题描述

如果我grid.table用于小表格,默认窗口太大,导致顶部、底部、左侧和右侧的空白边距很大。这是一个例子:

grid.table(data.frame(a=c(1,2),b=c(3,4))

在此处输入图像描述

当我将上面的窗口保存为 png,然后将其复制到 Word 中时,我最终不得不花时间裁剪它。我宁愿最初的窗口在桌子周围只有 1/4 英寸的填充物,这样我就不必裁剪任何东西,只需复制和粘贴即可。但是,我找不到任何确定表格尺寸的方法,这将允许我先发制人地调整窗口的大小(而且我不想“玩”窗口尺寸,因为这与裁剪一样低效,我生产几个不同大小的小桌子)。我也尝试使用grid.arrange,但我可以设置的唯一参数是“高度”,所做的只是将表格向上滑动(通过缩小上边距),同时保持窗口大小相同。我会对此采取任何解决方案 - 它不一定是 png。

标签: r

解决方案


我现在最好的解决方案是打开一个 png 设备,手动设置/估计高度和宽度,执行网格,然后关闭设备。

png(filename=myFilename, 
    height = (22/myRes)*(nrow(myTable)+1),
    width = (22/myRes)*(ncol(myTable))*4,
    units = "in", res = 72)
grid.table(myTable)
dev.off()

# "22" font height determined by trial and error, worked for 2 to 8 rows but drifting is observed
# "+1" accounts for an additional row for the column labels
# "*4" each column estimated to be four times its height
# "72" dpi

由于行高是一致的,所以我的 png 在顶部和底部边距上非常紧凑。但是,左右边距在 1/4 英寸和 1/2 英寸之间变化,而且由于我处理的列数是恒定的,我不知道使用更多/更少的列会有多糟糕。


推荐阅读