我的情况是,出于显示目的,我需要在<div>
容器中包装输出的图。
在最基本的层面上,这就是我想要做的事情:
```{r fig.width=7, fig.height=6,results='asis',echo=FALSE}
cat('<div>')
plot(cars)
cat('</div>')
```
但是,输出文档如下所示:
![plot of chunk unnamed-chunk-2](figure/unnamed-chunk-2.png)
如果需要“换行”输出,是否有解决方法?
在包装绘图时,似乎只会出现相同的行为。否则,包括已关闭的标签将按预期工作:
```{r fig.width=7, fig.height=6,results='asis',echo=FALSE}
cat('<div>')
cat('</div>')
plot(cars)
cat('<h1>Hello</h1>')
```
然而包装图像似乎打破了它。我也注意到<img>
包含在<p>
中是否可以阻止此行为?
答案 0 :(得分:5)
这是一种方法。
wrap = div
作为chunk选项传递给div
。out.extra = ""
设置为欺骗knitr
以输出html以用于绘图输出。请注意,这仅适用于div
代码,而不适用于span
,因为在span
tag.s内解析了markdown。DONE!
以下是包含Rmd,md和html文件的gist,这里是html preview
## knitr Chunk Hook to Wrap
```{r setup, echo = F}
knit_hooks$set(wrap = function(before, options, envir){
if (before){
paste0('<', options$wrap, '>')
} else {
paste0('</', options$wrap, '>')
}
})
```
```{r comment = NA, echo = F, wrap = 'div', out.extra=""}
plot(mtcars$mpg, mtcars$wt)
```