1

我正在自动化演示,并希望为目录中的每个图像创建一张幻灯片(图像文件名都是具有三个字符名称的 .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]))
}
```

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

4

1 回答 1

1

而不是knitr::include_graphics(),我认为您可以对图像使用 (Pandoc) Markdown 语法,例如

cat('![](', paste0(dir, "/plots/", plot_files[i]), '){width=900px}\n\n', sep = '')
于 2018-01-10T03:18:02.840 回答