knitr(R) - 如何不嵌入在HTML文件中的图像?(knitr (R) - how not t

2019-07-19 20:49发布

这可能是很容易的,但我似乎无法找到它的文档。 我想在HTML文件本身没有嵌入生成的图像。

所以基本上我想knit2html()产生与单独的图像文件(被链接到/在HTML中所示)一个HTML文件。 基本行为是脚本嵌入图像作为一个base64字符串。 这里的问题是,在IE浏览器,大图像不会出现(即似乎丢失)。 任何想法我怎么能单独从HTML输出的图像?

我的例子.Rmd文件( 'knit.Rmd'):

```{r}
plot(3)
```

而我的.R文件,以从这个HTML:

library(knitr)

knit2html('knit.Rmd')

此示例产生与情节作为嵌入式BASE64串的HTML。

Answer 1:

如果你看一下knit2html帮助页面,你会看到:

This is a convenience function to knit the input markdown source and
call ‘markdownToHTML()’ in the ‘markdown’ package to convert the
result to HTML.

然后你看看markdownToHTML帮助页面和阅读,有以下几种说法:

 options: options that are passed to the renderer.  see
           ‘markdownHTMLOptions’.

所以你看markdownHTMLOptions (?仍然没有丢失),并请参阅以下选项:

 ‘'base64_images'’ Any local images linked with the ‘'<img>'’ tag
      to the output HTML will automatically be converted to base64
      and included along with output.

用下面的命令,你会看到你的系统上的默认选项:

R> markdownHTMLOptions(default=TRUE)
[1] "use_xhtml"      "smartypants"    "base64_images"  "mathjax"       
[5] "highlight_code"

所以,可能是你可以尝试编织你的降价文件,:

knit2html("knit.Rmd", options=c("use_xhtml","smartypants","mathjax","highlight_code"))

没测试过,但...



Answer 2:

它不是knitr做这个, knitr刚刚运行后会产生修改的降价文件R块。 所以,你需要帮忙看一下对markdown包找出...

base64_images选项。 咖啡还没有在尚未踢,所以我还没有确切sussed如何设置/复位个别降价的选择,但清除他们全部对我的作品:

 > knit2html("foo.Rmd",options="")

生产

 <p><img src="figure/unnamed-chunk-1.png" alt="plot of chunk unnamed-chunk-1"> </p>

foo.html

如果清除所有这些选项打破了其他的东西,然后读了markdownHTMLOptions



Answer 3:

你可以只添加self_contained: no在.Rmd头输出选项。 例如:

---
title: "Data visualisation with ggplot"
output:
  html_document:
    self_contained: no
    toc: yes
    toc_float: yes
---


Answer 4:

这里有一个简单的方法来在一个单独的HTML文件的数字,这将显著减少其大小。

在* .rmd文件的开头添加此块:

```{r global_options, include=FALSE}
#suppress the warnings and other messages from showing in the knitted file.
knitr::opts_chunk$set(fig.width=8, fig.height=6, fig.path='Figs/',
                      echo=TRUE, warning=FALSE, message=FALSE)
```

选项“fig.path”告诉R键的图片保存到“图”文件夹中。 选项其余不需要的任务。

单击此按钮:

确保未选中该复选框:



文章来源: knitr (R) - how not to embed images in the HTML file?
标签: r markdown knitr