2013-02-14 14 views
19

これはおそらく非常に簡単ですが、ドキュメントで見つけられないようです。私はHTMLファイル自体に生成された画像を埋め込むことはしません。knitr(R) - 画像をHTMLファイルに埋め込む方法を教えてください。

基本的に私はknit2html()に別のイメージファイル(HTMLにリンクされている/表示されている)を持つHTMLファイルを生成します。基本的な動作は、スクリプトが画像をbase64文字列として埋め込むことです。この問題は、IEでは大きな画像が表示されない(欠落しているように見える)ことです。どのように私はHTML出力から画像を分離することができますか?

私の例では、( 'knit.Rmd')ファイル.Rmd:

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

そして、私の.RファイルここからHTMLを生成する:

library(knitr) 

knit2html('knit.Rmd') 

この例では、とHTMLを生成し、組み込みのbase64文字列としてプロットします。

+0

あなたは私たちにあなたが何をしているかの短い値下げ例を与え、あなたが呼び出しているRの機能を一覧表示することができます... – Spacedman

+0

私は、最小限の例を追加しました。 – Bart

答えて

16

あなたは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")) 

しかし、テストされていません。..

+0

ありがとうございます、魅力のように動作します! – Bart

10

これは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をお読みください。

+0

最初に、.RmdファイルのR塊は、変更されたknitr .mdファイルにレンダリングされます。次に、.htmlにレンダリングされます。 'render( 'foo.Rmd')'です。 Rインタプリタは一般的なknitrファイル名を表示します。 https://www.r-bloggers.com/r-knitr-markdown-html/ – noobninja

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'は、画像を 'Figs'フォルダに保存するように指示します。タスクの残りのオプションは必須ではありません。

このボタンをクリックしてください:

Make sure the check box is not checked

4

あなただけ.Rmdヘッダ内の出力オプションにself_contained: noを追加することができます。

Click this button

は、チェックボックスがチェックされていないことを確認してください。たとえば:

--- 
title: "Data visualisation with ggplot" 
output: 
    html_document: 
    self_contained: no 
    toc: yes 
    toc_float: yes 
--- 
関連する問題