原始 HTML 并绘制在 (knitr) 循环中
Raw HTML and plots in a (knitr) loop
我正在整理一个 Knitr 脚本来生成报告。报告的内容在运行时动态确定,报告的各个部分通过循环生成。理想情况下,我想在循环的每次迭代中执行以下两项操作:
- 生成一些原始 HTML 输出和
- 生成绘图。
但是,我正在努力让这两个同时工作。
如果我使用以下块选项,我会得到图,但 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)
}```
我正在整理一个 Knitr 脚本来生成报告。报告的内容在运行时动态确定,报告的各个部分通过循环生成。理想情况下,我想在循环的每次迭代中执行以下两项操作:
- 生成一些原始 HTML 输出和
- 生成绘图。
但是,我正在努力让这两个同时工作。
如果我使用以下块选项,我会得到图,但 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)
}```