使用knitr :: include_graphics()

时间:2016-07-28 17:09:52

标签: r rstudio knitr r-markdown

我对即将推出的RStudio笔记本电脑感到非常兴奋(preview version of RStudio中提供。)如需简短概述,请点击here)。但是,我遇到了包含图片的困难

在Rmarkdown中,我可以包含这样的图像:

--- 
title: "This works"
output: html_document
---

```{r echo=FALSE, out.width='10%'}
library(knitr)
knitr::include_graphics('https://www.rstudio.com/wp-content/uploads/2014/06/RStudio-Ball.png')
```

RStudio Logo

然而,当我想在笔记本中做同样的事情时(注意从html_documenthtml_notebook的变化),我不再获得图像:

--- 
title: "This does not work"
output: html_notebook
---

```{r echo=FALSE, out.width='10%'}
knitr::include_graphics('https://www.rstudio.com/wp-content/uploads/2014/06/RStudio-Ball.png')
```

There should be a Logo here

(当我在与笔记本相同的文件夹中使用图像时,我只是得到该图像的名称,就像链接到外部图像的情况一样)。

我的问题:有没有办法在rmarkdown代码块中的笔记本(update :)中显示图像?

请注意:我想使用r代码来包含图片。我不想包含标准降价图像(![image description](path/to/image))的图像,它在笔记本和常规的rmarkdown文档中都有效。我也不想使用html。我希望使用r代码来包含图像会在笔记本中呈现图像。

编辑:常规Rmarkdown文件和笔记本之间的一个区别是笔记本已预览"而不是编织:

preview button for notebook

1 个答案:

答案 0 :(得分:4)

感谢您抽出宝贵时间试用笔记本电脑。今天有一种迂回的方式可以做到这一点;只需制作一个情节并在其上绘制图像。

download.file("https://www.rstudio.com/wp-content/uploads/2014/06/RStudio-Ball.png", "RStudio-Ball.png")
library("png")
ball <- readPNG("RStudio-Ball.png", native = TRUE)
plot(0:1, 0:1, type = "n", ann = FALSE, axes = FALSE)
rasterImage(ball, 0, 0, 1, 1)

但这有点像黑客,所以我们只是添加了对knitr::include_graphics的支持。它将在明天的每日(0.99.1272或更晚)。