gridExtra

时间:2016-04-21 18:36:47

标签: r latex knitr gridextra

我正在尝试构建一个自动报告,它将在彼此之下有三个图表,彼此之间没有边距空间。

我使用以下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页面?也许是海报大小,如果我需要它?

1 个答案:

答案 0 :(得分:1)

有不同的角度来处理你的问题。这是一个工作示例,其中三个表适合放在尺寸为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?

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

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

这不是微不足道的,但我想可以做到。我怀疑这是一个好主意(出于印刷原因):通常应该设置字体大小,如果表格不合适,它应该分成几页(这里有一个例子)在我提供的链接中。)

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将这些布局选项传递给latex,通常作为几何包的选项。