我想在使用knitr / rmarkdown生成的HTML报告的顶部插入一个摘要图。但是此图的输入取决于从下游代码块和子文档生成的输出。有没有一种方法可以不必将摘要图放在文档末尾?
我尝试在顶级代码块中使用ref.label ='last'选项(使用eval = FALSE)在文档末尾添加重复的代码块{r last,eval = TRUE},但没有为我工作。
有什么建议吗?
答案 0 :(得分:0)
您可以在文档中的任意位置插入HTML,并使用knitr
来引用该图。
要弄清楚名称,请暂时将YAML标头更改为以下内容:
output:
html_document:
self_contained: FALSE
这不会在输出中嵌入数字,它们将保存在单独的目录中。在编辑器中打开输出,或在浏览器中查看源,然后查找显示该图的行。在下面的测试示例中,此代码正在显示它:
<p><img src="Untitled2_files/figure-html/rnormplot-1.png" width="672" /></p>
我将该行复制到文档中,并删除了self_contained
设置,并获得了以下源代码:
---
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
This is the figure before it was generated:
<p><img src="Untitled2_files/figure-html/rnormplot-1.png" width="672" /></p>
And here it is being generated:
```{r rnormplot}
x <- rnorm(100)
plot(x)
```
一个关键是要命名生成绘图的代码块(我的命名为rnormplot
),因为这有助于确保图形名称独立于文档的其余部分。