【发布时间】:2021-11-27 21:07:31
【问题描述】:
我有一个包含以下代码块的 RMarkdown 文件。我希望直方图显示在两个 kable 表之后的页面上。即,我希望在第 3 页打印直方图。但在我的输出中,它总是在第 2 页打印。即使我有多个 \pagebreak 值一个接一个,该图仍然在第 2 页打印。
今天早上我研究了一段时间,但未能找到解决方案。下面的代码使用mtcars,所以它应该是完全可重现的。
```
---
title: "Test Document"
author: ""
date: "Today's Date"
output: pdf_document
classoption: landscape
---
```{r knitr_init, echo = FALSE, results="asis", cache = FALSE, message = FALSE, warning = FALSE}
library(dplyr)
library(ggplot2)
library(kableExtra)
data(mtcars)
```
```{r, echo = FALSE, message = FALSE, warning = FALSE}
cars_table <- mtcars %>%
group_by(cyl) %>%
summarise(avg_hp = mean(hp))
kable(cars_table,
align = 'r',
caption = "Average Horsepower by Cylinders",
format="latex")
```
```{r, echo = FALSE, message = FALSE, warning = FALSE}
cars_table <- mtcars %>%
group_by(gear) %>%
summarise(avg_hp = mean(hp))
kable(cars_table,
align = 'r',
caption = "Average Horsepower by Gears",
format="latex")
```
\pagebreak
```{r, echo = FALSE, message = FALSE, warning = FALSE, fig1, fig.height = 4, fig.width = 10}
ggplot(mtcars, aes(x = hp)) +
geom_histogram() +
facet_wrap(~cyl)
```
【问题讨论】:
-
使用“\newpage”代替“\pagebreak”有效吗?刚刚看到它查看这个 rmarkdown 网站并认为它可能会有所帮助:bookdown.org/yihui/rmarkdown-cookbook/pagebreaks.html
-
@Silentdevildoll 不幸的是,它产生了相同的结果。将
\pagebreak替换为\newpage仍然无法达到打印第3页的ggplot的结果。
标签: r pdf r-markdown knitr kable