下一张幻灯片上的图片与ioslides使用Rstudio的Rmd

时间:2015-01-18 15:15:46

标签: r rstudio knitr r-markdown

我希望在下一张幻灯片上显示我的图表输出,而代码块保留在第一张幻灯片上。我在Rstudio中使用默认的ioslides。我认为这将是代码块的一些属性,但我无法弄清楚它是什么。

---
output: ioslides_presentation
---

## Slide with Plot

```{r, echo=TRUE}
plot(cars)
```

任何人都知道如何在Rstudio中做到这一点?

我想将它用于教育目的。首先显示代码而不是显示图表。现在,我仍然坚持使用echo = FALSE和TRUE以及eval = FALSE和TRUE进行双重代码块。

4 个答案:

答案 0 :(得分:3)

要将绘图移动到下一张幻灯片,您需要在其前面添加水平线----(请参阅documentation)。您可以修改默认的plot挂钩来执行此操作:

```{r setup, include=FALSE}
library(knitr)
local({
  hook_plot = knit_hooks$get('plot')
  knit_hooks$set(plot = function(x, options) {
    paste0('\n\n----\n\n', hook_plot(x, options))
  })
})
```

答案 1 :(得分:2)

两次运行代码更容易,一次不评估代码,第二次没有显示代码。

---
title: "Plot Separation"
output: ioslides_presentation
---

## Plot 1

```{r, eval = FALSE}
plot(1:10)
```

## Plot 2

```{r, echo = FALSE}
plot(1:10)
```

smallertrue时,它还可以避免错误。

答案 2 :(得分:1)

如果你想让你的所有情节都出现在下一张幻灯片上,那么Yihui的回答就是你要走的路。但是如果你想在同一张幻灯片上出现一些情节,你可能最好手动进行,类似于你已经在做的事情(以及达里奥所建议的)。除了我强烈建议使用块引用。这样就可以避免复制代码。

---
title: "Plot Separation"
output: ioslides_presentation
---

## Plot code

```{r cars_plot, echo = TRUE, eval = FALSE}
plot(cars)
```

## Plot display

```{r cars_plot, echo = FALSE, eval = TRUE}
```

```

答案 3 :(得分:-1)

我同意这是可取的,但我发现ioslides是错误的。 Ioslides项目从谷歌开始,但不久之前就放手了。

你可能有更好的运气beamer / home幻灯片。但是需要安装LaTeX发行版。