原始 HTML 并绘制在 (knitr) 循环中

Raw HTML and plots in a (knitr) loop

我正在整理一个 Knitr 脚本来生成报告。报告的内容在运行时动态确定,报告的各个部分通过循环生成。理想情况下,我想在循环的每次迭代中执行以下两项操作:

  1. 生成一些原始 HTML 输出和
  2. 生成绘图。

但是,我正在努力让这两个同时工作。

如果我使用以下块选项,我会得到图,但 HTML 代码在 "pre" 环境中格式化。

```{r echo=FALSE, fig.keep = "all", fig.show = "asis"}
for (i in 1:3) {
  cat("<h2>Heading</h2>")
  print(ggplot(data.frame(x = 1:10, y = 1:10), aes(x = x, y = y)) + geom_point())
}
```

如果我更改块选项,那么我会得到原始的 HTML 但绘图消失了,取而代之的是指示绘图路径的短文本片段。

```{r results="asis", echo=FALSE}
for (i in 1:3) {
  cat("<h2>Heading</h2>")
  print(ggplot(data.frame(x = 1:10, y = 1:10), aes(x = x, y = y)) + geom_point())
}
```

是否可以让两者同时工作?

这是我第一次尝试用 Knitr 做一些非常重要的事情,所以我确信这个问题有一个简单的答案。

此致, 安德鲁.

这似乎对我有用:

```{r results='asis', echo=F, fig.keep='all'}

for (i in 1:3) {

cat("<h2>Heading</h2>")
pl <- ggplot(data.frame(x = 1:10, y = 1:10), aes(x = x, y = y)) + geom_point()
print(pl)

}```