RMarkdown:故意预订

时间:2017-10-16 22:43:22

标签: r knitr r-markdown plotly bookdown

我正在使用带有RMarkdown的bookdown包来生成类似于this的基于网络的书籍,同样可以选择下载该书的pdf版本。

我在我的“书”中包含了plotly个图表,这些图表在本书的html版本中很有效。作为交互式,当在YAML标题中包含pdf输出时,按钮“构建书”会引发错误。

基于this description我找到了一个使用常规RMarkdown文件的解决方法来创建带有plotly图输出的pdf。一个最小的解决方案(在bookdown之外)看起来像这样:

---
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中包含此解决方案,以便图表在html输出中自动交互并在pdf输出中静态(png)?

1 个答案:

答案 0 :(得分:0)

基于this blogpost我能够提出解决方案。请注意,这只适用

  • 使用“knitr”按钮(有关解决方法,请参阅this post
  • 使用互联网连接(1)和Plotly Account(2)

(1)请参见this link在本地导出静态图像(因为我安装producer/consumer失败后我无法正常工作)

(2)Plotly每位用户每天有100个地块/网格的用户配额

PhantomJS