gridExtra 中 grid.arrange 的重叠表格

Overlapping tables from grid.arrange in gridExtra

我正在尝试构建一个自动报告,其中三个图表彼此正下方,彼此之间没有边距 space。

我用以下 Rmd 脚本模拟了我的问题

---
output: pdf_document
---

```{r setup, include=FALSE}
library(gridExtra)
```

```{r, echo=FALSE}
car_tbl <- tableGrob(mtcars[1:10,])
grid.arrange(car_tbl, car_tbl, car_tbl)
```

您可以看到表格是如何相互重叠的。似乎实际上有一些问题构成了我的问题。

  1. 如何使用 tableGrob 和 grid.arrange 的选项来防止表格重叠。
  2. 如何确保没有任何东西被切断?换句话说,如果我也需要它,我该如何设置图形以占据整个页面?
  3. 如何重新主动缩小绘图文本以适合一页?
  4. 如何将页面大小设置为我想要的大小?是否有选项将 knitr 文档设置为打印到我想要​​的任何大小的 pdf 页面?如果我需要的话,也许海报大小?

有不同的角度来处理您的问题。这是一个工作示例,其中三个 table 适合放置在 A2 大小的 pdf 上的一个块中。

---
output: pdf_document
geometry: paper=a2paper
---

```{r setup, include=FALSE}
library(gridExtra)
```

```{r, echo=FALSE, fig.height=10}
car_tbl <- tableGrob(mtcars[1:10,])
grid.arrange(car_tbl, car_tbl, car_tbl)
```

为了具体解决您的问题,

1. How do I use the options of tableGrob and grid.arrange to keep the tables from overlapping.

它们的重叠更多地与 knitr 设置的默认 fig.height 有关。

2. How do I make sure nothing is cut off? In other words, how do I set the graphic to take the whole page if I need it too?

确保图形高度和页面足够大 table。

3. How can I re-actively shrink the text of the plot to fit on one page?

这不是微不足道的,但我想这是可以做到的。我怀疑这是个好主意(出于印刷原因):通常应该设置字体大小,如果 table 不适合,则应将其分成几页([=29 中有一个示例=] 我提供了)。

3. How can I set the size of the page to whatever size I want? Are there options set the knitr document to print to a pdf page of any size I want? Perhaps poster size if I need it to?

这是一个乳胶问题,在 Rmd 文档的上下文中意味着您可以通过 rmarkdown 和 pandoc 将这些布局选项传递给乳胶,通常作为几何包的选项。