2013-02-14 15 views
19

यह शायद बहुत आसान है लेकिन मुझे दस्तावेज़ों में यह प्रतीत नहीं होता है। मैं जेनरेट की गई छवियों को HTML फ़ाइल में एम्बेड नहीं करना चाहता हूं।knitr (आर) - HTML फ़ाइल में छवियों को कैसे एम्बेड नहीं किया जाए?

तो मूल रूप से मैं अलग-अलग छवि फ़ाइलों (जिसे HTML में दिखाया/दिखाया गया है) के साथ एक HTML फ़ाइल बनाने के लिए knit2html() चाहते हैं। मूल व्यवहार यह है कि स्क्रिप्ट छवियों को बेस 64 स्ट्रिंग के रूप में एम्बेड करती है। इसके साथ समस्या यह है कि आईई में, बड़ी छवियां दिखाई नहीं देगी (यानी गायब होने लगती हैं)। कोई विचार है कि मैं HTML आउटपुट से छवियों को कैसे अलग कर सकता हूं?

मेरी उदाहरण फ़ाइल .Rmd ('knit.Rmd'):

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

और मेरे .R फ़ाइल इस से HTML उत्पन्न करने के लिए:

library(knitr) 

knit2html('knit.Rmd') 

इस उदाहरण के साथ एक एचटीएमएल उत्पन्न करता है एक एम्बेडेड बेस 64 स्ट्रिंग के रूप में साजिश।

+0

आप हमें तुम क्या कर रहे की एक छोटी markdown उदाहरण दे सकते हैं और अनुसंधान कार्यों आप बुला रहे हैं की सूची ... – 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" 

तो तुम साथ अपने markdown फ़ाइल बुनी की कोशिश कर सकते हो सकता है:

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

जांची नहीं है, हालांकि ..

+0

धन्यवाद, एक आकर्षण की तरह काम करता है! – Bart

10

यह knitr ऐसा नहीं करता है, knitrR भाग चलाने के बाद बस एक संशोधित मार्कडाउन फ़ाइल उत्पन्न करता है। इसलिए आपको markdown पैकेज के लिए सहायता देखने की आवश्यकता है ...

इसका base64_images विकल्प है। कॉफी अभी तक में लात मारी है नहीं, इसलिए मैं वास्तव में बाहर sussed नहीं किया है स्थापित करने के लिए कैसे/रीसेट व्यक्ति markdown विकल्प है, लेकिन उन सब मेरे लिए बाहर समाशोधन काम करता है:

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

में

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

उत्पादन foo.html

यदि उन सभी विकल्पों को साफ़ करने से अन्य सामान तोड़ते हैं, तो markdownHTMLOptions पर पढ़ें।

+0

सबसे पहले, आरएमडी फ़ाइल में आर भाग एक संशोधित knitr .md फ़ाइल में प्रस्तुत किए जाते हैं। फिर .html में प्रस्तुत किया गया, उदा। 'प्रस्तुत करना ('foo.Rmd')'। आर दुभाषिया जेनेरिक knitr फ़ाइल नाम प्रदर्शित करता है। https://www.r-bloggers.com/r-knitr-markdown-html/ – noobninja

4

यहां एक अलग HTML फ़ाइल में आंकड़े रखने का एक आसान तरीका है, जो इसके आकार को काफी कम कर देगा।

* की शुरुआत में इस खंड को जोड़ें।आरएमडी फ़ाइल:

```{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' चित्रों को 'फिग' फ़ोल्डर में सहेजने के लिए आर बताता है। कार्य के लिए बाकी विकल्पों की आवश्यकता नहीं है।

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 
--- 
संबंधित मुद्दे