如何从grid.table窗口中删除空白边距?

时间:2018-09-07 15:58:15

标签: r

如果我在小桌子上使用grid.table,则默认窗口太大,导致顶部,底部,左侧和右侧的空白空间很大。这是一个示例:

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

enter image description here

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

1 个答案:

答案 0 :(得分:0)

我目前最好的解决方案是打开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英寸之间变化,并且由于我要处理的列数是恒定的,所以我不知道增加/减少列会带来多大的麻烦。 / p>