r - 如何从 grid.table 窗口中删除空白边距?
问题描述
如果我grid.table
用于小表格,默认窗口太大,导致顶部、底部、左侧和右侧的空白边距很大。这是一个例子:
grid.table(data.frame(a=c(1,2),b=c(3,4))
当我将上面的窗口保存为 png,然后将其复制到 Word 中时,我最终不得不花时间裁剪它。我宁愿最初的窗口在桌子周围只有 1/4 英寸的填充物,这样我就不必裁剪任何东西,只需复制和粘贴即可。但是,我找不到任何确定表格尺寸的方法,这将允许我先发制人地调整窗口的大小(而且我不想“玩”窗口尺寸,因为这与裁剪一样低效,我生产几个不同大小的小桌子)。我也尝试使用grid.arrange
,但我可以设置的唯一参数是“高度”,所做的只是将表格向上滑动(通过缩小上边距),同时保持窗口大小相同。我会对此采取任何解决方案 - 它不一定是 png。
解决方案
我现在最好的解决方案是打开一个 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 英寸之间变化,而且由于我处理的列数是恒定的,我不知道使用更多/更少的列会有多糟糕。
推荐阅读
- python - 对张量进行切片是否会在 Tensorflow 中提供梯度?
- azure - 表单身份验证在 Azure 应用服务中不起作用
- javascript - 如何在 iframe 标签中为 Web 视图添加自定义 CSS
- php - 我的与数据库有连接的 php 文档不会写表
- python - 我想从 csv 文件中提取字符串的某些部分
- javascript - 将输入绑定到按钮单击函数的值
- android - Android:如何在 Html.fromHtml() 中显示“大于号”,它被理解为开始标记而不是大于号
- django - DRF 中没有使用 ModelViewset 的 PUT 方法
- three.js - ThreeJS 编辑器透明背景
- python-3.x - 你如何使用 Selenium Python 并让它遍历网页中需要的每个选择标签,然后总是选择 [1] 或第一个选项?