如何使用 RMarkdown 在 beamer 演示文稿中从一段代码创建两个图?
How to create two plots from one chunk of code in a beamer presentation with RMarkdown?
我想根据 RMarkdown 文档中的一大块 R 代码创建多个绘图。输出格式是 beamer-presentation,我通过点击 RStudio 中的编织按钮来编织文档。这是一个最小的例子,其中只创建了一张幻灯片和一个图,而第二个图被省略了。我想看两张幻灯片,每张一张。
---
title: "2 Plots"
output: beamer_presentation
---
# Slide with Plot
```{r cars, echo = TRUE, eval = TRUE}
plot(cars$speed)
plot(cars$dist)
```
如果您想要将图表放在单独的幻灯片上,则必须将图表放在单独的块和幻灯片中:
---
title: "2 Plots"
output:
beamer_presentation: default
ioslides_presentation: default
---
# Slide with first Plot
```{r cars, echo = TRUE, eval = TRUE}
plot(mtcars$cyl)
```
# Slide with second Plot
```{r cars2, echo = TRUE, eval = TRUE}
plot(mtcars$hp)
```
您只需输出代码即可在绘图代码之间开始新的幻灯片。例如,
---
title: "2 Plots"
output: beamer_presentation
---
# Slide with Plot
```{r cars, echo = -2, eval = TRUE}
plot(cars$speed)
knitr::asis_output("\n\n# slide 2\n")
plot(cars$dist)
```
请注意,echo = -2
表示不要回显第二条语句,即写出第二张幻灯片标题的语句。
我建议编写一个小函数来结束 asis_output
行,这样输入起来更容易。例如,
# Slide 3
```{r eval = TRUE, echo = c(-1,-3)}
slide <- function(title)
knitr::asis_output(paste("\n\n#", title, "\n"))
plot(cars$speed)
slide("Slide 4")
plot(cars$dist)
```
如果 asis_output
处于 for
循环的中间,您可能会发现它无法正常工作;有关详细信息,请参阅其帮助页面。
我想根据 RMarkdown 文档中的一大块 R 代码创建多个绘图。输出格式是 beamer-presentation,我通过点击 RStudio 中的编织按钮来编织文档。这是一个最小的例子,其中只创建了一张幻灯片和一个图,而第二个图被省略了。我想看两张幻灯片,每张一张。
---
title: "2 Plots"
output: beamer_presentation
---
# Slide with Plot
```{r cars, echo = TRUE, eval = TRUE}
plot(cars$speed)
plot(cars$dist)
```
如果您想要将图表放在单独的幻灯片上,则必须将图表放在单独的块和幻灯片中:
---
title: "2 Plots"
output:
beamer_presentation: default
ioslides_presentation: default
---
# Slide with first Plot
```{r cars, echo = TRUE, eval = TRUE}
plot(mtcars$cyl)
```
# Slide with second Plot
```{r cars2, echo = TRUE, eval = TRUE}
plot(mtcars$hp)
```
您只需输出代码即可在绘图代码之间开始新的幻灯片。例如,
---
title: "2 Plots"
output: beamer_presentation
---
# Slide with Plot
```{r cars, echo = -2, eval = TRUE}
plot(cars$speed)
knitr::asis_output("\n\n# slide 2\n")
plot(cars$dist)
```
请注意,echo = -2
表示不要回显第二条语句,即写出第二张幻灯片标题的语句。
我建议编写一个小函数来结束 asis_output
行,这样输入起来更容易。例如,
# Slide 3
```{r eval = TRUE, echo = c(-1,-3)}
slide <- function(title)
knitr::asis_output(paste("\n\n#", title, "\n"))
plot(cars$speed)
slide("Slide 4")
plot(cars$dist)
```
如果 asis_output
处于 for
循环的中间,您可能会发现它无法正常工作;有关详细信息,请参阅其帮助页面。