2017-10-16 5 views
3

私はパッケージとRMarkdownを使ってthisのようなウェブベースの書籍を生成しています。これは、書籍のpdf版をダウンロードするオプションと同様です。RMarkdown:プロダクトでブックダウン

書籍のhtmlバージョンでうまく動作する私の "本"には、plotlyのグラフが含まれています。インタラクティブであるため、YAMLヘッダーにpdf出力を含めると、「ビルドブック」ボタンがエラーをスローします。

this descriptionに基づいて、私は通常のRMarkdownファイルで回避策を見つけ、plotlyグラフ出力のPDFファイルを作成しました。 (bookdown外)最小の溶液は次のようになります。グラフは自動的にPDFにHTML出力と静的(PNG)でインタラクティブあるよう

--- 
title: "test" 
output: 
    pdf_document: default 
--- 

```{r setup, include=FALSE} 
knitr::opts_chunk$set(echo = TRUE) 
library(plotly) 

Sys.setenv("plotly_username" = "username") 
Sys.setenv("plotly_api_key" = "API") 
``` 


```{r cars} 
library(plotly) 
p <- plot_ly(x = c(1,2,3,4), y = c(2,4,1,3), type = 'scatter', mode = 'lines') 
plotly_IMAGE(p, format = "png", out_file = "output.png") 

``` 
![Caption for the picture.](output.png) 

bookdown内この溶液を含める方法があります出力?

答えて

0

this blogpostに基づいて、私は解決策を思いついた。注、この唯一のインターネット接続が

  • (回避策についてthis postを参照してください) "knitr" ボタンを

    • の作品(1)及びPlotlyアカウント(2)

    (1)を参照してください。 (2)Plotly日

    ユーザーあたり現在100のプロット/グリッドのユーザークォータを持って

    (私はPhantomJSをインストールできなかったので、私は仕事に取得していないもの)、ローカルに静止画像をエクスポートする

    --- 
    title: "test" 
    output: 
        html_document: default 
        pdf_document: default 
        word_document: default 
    --- 
    
    ```{r setup, include=FALSE} 
    knitr::opts_chunk$set(echo = TRUE) 
    library(plotly) 
    library(pander) 
    Sys.setenv("plotly_username" = "YOUR PLOTLY USERNAME") 
    Sys.setenv("plotly_api_key" = "API KEY") 
    
    output <- knitr::opts_knit$get("rmarkdown.pandoc.to") # html/latex/docx 
    
    ``` 
    
    
    ```{r, results="asis"} 
    
    print(output) 
    
    p <- plot_ly(x = c(1,2,3,4), y = c(2,4,1,3), type = 'scatter', mode = 'lines') 
    
    filename <- "output.png" 
    
    if(output %in% c("latex","docx")){ 
        plotly_IMAGE(p, format = "png", out_file = filename) 
        pandoc.image(filename) 
    } else if(output == "html"){ 
        p 
    } else(print("No format defined for this output filetype")) 
    
    
    ``` 
    
  • +0

    出力形式としてhtmlを使用すると、完全な 'plotly'オブジェクトを出力して、ユーザーがそれと対話できるようにしたくないのですか? –

    +1

    私が持っていた問題は、本の_pdf_バージョンを生成することでした – Ratnanil

    関連する問題