在knitr中使用webshot

时间:2016-03-16 17:49:40

标签: r phantomjs knitr

在尝试找到this SO question关于保存d3heatmap生成的热图的解决方案的过程中,我在development version of knitr内使用webshot遇到了无关的问题(HT :hrbrmstr)。

library(devtools)
devtools::install_github('yihui/knitr', build_vignettes = TRUE)
library(knitr)

安装并加载knitr的开发版本后,我尝试运行以下.Rmd文件:

---
title: "Untitled"
output: pdf_document
---

```{r}
library(d3heatmap)
d3heatmap(mtcars, scale = "column", colors = "Spectral")
```

我被提示安装phantomjs:

webshot::install_phantomjs()

phantomjs.exe has been installed to /Users/USERNAME/Library/Application Support/PhantomJS

我尝试再次运行.Rmd文件,但是我收到了这个错误:

sh: ~/Library/Application Support/PhantomJS/phantomjs: No such file or directory
Quitting from lines 7-9 (test.Rmd) 
Error in (function (url = NULL, file = "webshot.png", vwidth = 992, vheight = 744,  : 
  webshot.js returned failure value: 127
Calls: <Anonymous> ... html_screenshot -> in_dir -> do.call -> <Anonymous>
Execution halted

我相信错误告诉我R无法找到phantomjs.exe,但我发现它位于指定的路径中。我知道这会引起愚蠢的用户错误。

1 个答案:

答案 0 :(得分:2)

这是known bug,已在当前development version of webshot中修复。