2014-02-24 59 views
3

我正在使用knit()markdownToHTML()自動生成報表。手動使用R編織/降價爲HTML生成圖表

問題是我使用這些命令時不輸出圖。但是,當我使用RStudio的Knit HTML按鈕時,繪圖會生成。當我使用自己的編織/降價功能時,它會突然輸出圖。當我切換到另一個文檔並編織該文檔時,會出現舊的情節。

例子:

```{r figA, result='asis', echo=TRUE, dpi=300, out.width="600px", 
       fig=TRUE, fig.align='center', fig.path="figure/"} 
plot(1:10) 
``` 

使用命令:

knit(rmd, md, quiet=TRUE) 
markdownToHTML(md, html, stylesheet=style) 

所以我想有2個問題,這取決於你想如何對待它:

  • 什麼魔法是怎麼回事在Rstudio的Knit HTML
  • 如何生成/包含而不依賴RStudio的Knit HTML按鈕?
+1

我發現RStudio會將它們輸出到一個文件夾,而針織不會將這些圖塊放在這個文件夾中。 – PascalVKooten

+0

你的意思是RStudio在'knit()'把它們輸出到_figure/_文件夾中時在同一個目錄下輸出_.md_文件的圖表?如果是這樣,您是否知道如何將RStudio輸出圖設置爲_figure/_文件夾,而無需在_.Rmd_文件中明確指定opts_chunk $ set(fig.path =「figure /」)? – Cryptor

回答

1

我在這裏看到的唯一問題是,當跨越兩行的塊選項{...}不起作用。如果它全部在一條線上,它可以正常工作。我錯過了什麼嗎?

看看這是不是knitr下允許the documentation

  1. 組塊的選擇必須寫在一行;塊選項內不允許換行符;

RStudio必須以非標準方式處理換行符。

+0

我還沒有意識到這一點,但無論如何都採用了這種格式(輸入這裏只是爲了更好的顯示)。我很抱歉。 – PascalVKooten

0

這實在是令人尷尬的,我真的以爲我仔細閱讀文檔:

包括:(TRUE;邏輯)是否包括 最終輸出文檔中的數據塊輸出;如果include = FALSE,則輸出文件將不會寫入 ,但如果塊中有任何圖塊,則代碼仍會被計算並生成圖形文件 ,因此您可以手動插入圖形 ;注意,這是沒有被緩存, 即,改變它不會緩存失效

簡單地增加{..., include=TRUE}的伎倆唯一塊的選擇。我會說這將是一個相當明智的默認值。