循环浏览目录中的图像:ioslides

时间:2018-01-09 20:56:22

标签: r knitr r-markdown pandoc ioslides

我自动化演示文稿,并希望为目录中的每个图像创建幻灯片(图像文件名都是具有三个字符名称的.png文件)。

这可以根据需要测试带有标题和图像的幻灯片是否会呈现:

```{r, results="asis", out.width="900px"}
plot_files <- list.files(paste0(mydir, "/plots"))
i <- 1
cat("\n\n##", substr(plot_files[i], 1, 3), "\n\n", sep="")
knitr::include_graphics(paste0(dir, "/plots/", plot_files[i]))
```

但是当我把上面的内容包装成for循环......

```{r, results="asis", out.width="900px"}
plot_files <- list.files(paste0(mydir, "/plots"))
for (i in 1:length(plot_files)) {
  cat("\n\n##", substr(plot_files[i], 1, 3), "\n\n", sep="")
  knitr::include_graphics(paste0(dir, "/plots/", plot_files[i]))
}
```

...每个幻灯片都使用标题正确生成,但图像不再呈现。为什么在循环中包装代码会导致图像渲染失败?

1 个答案:

答案 0 :(得分:1)

我认为您可以使用图片的(Pandoc)Markdown语法代替knitr::include_graphics(),例如

cat('![](', paste0(dir, "/plots/", plot_files[i]), '){width=900px}\n\n', sep = '')