使用 R 和 plot.ly - 如何编写脚本将我的输出保存为网页

Using R and plot.ly - how do I script saving my output as a webpage

我想使用 R 和 plot.ly 制作一些交互式图表。当我在 R-Studio 中 运行 以下代码时,它会生成一个交互式图形。

library(plotly)
set.seed(100)
d <- diamonds[sample(nrow(diamonds), 1000), ]
plot_ly(d, x = carat, y = price, text = paste("Clarity: ", clarity),
    mode = "markers", color = carat, size = carat)

生成此图后,当我在 R-Studio 的绘图 window 中单击 "Export" 按钮时,它会提供将绘图另存为网页的选项。如何编写将生成的图保存为网页的过程脚本?我的最终目标是从 bash 脚本中迭代 运行 Rscripts 以生成多个网页。

plot_ly 对象分配给一个变量,然后使用 htmlwidgets::saveWidget() 保存实际文件,如下所示:

library(plotly)
set.seed(100)
d <- diamonds[sample(nrow(diamonds), 1000), ]
p <- plot_ly(d, x = carat, y = price, text = paste("Clarity: ", clarity),
             mode = "markers", color = carat, size = carat)
htmlwidgets::saveWidget(as_widget(p), "index.html")

正在为 R-3.5.1 和 plotly-4.8.0 更新 Andrew 的 ,即:

library(plotly)
set.seed(100)
d <- diamonds[sample(nrow(diamonds), 1000), ]
p <- plot_ly(d, x = ~carat, y = ~price, text=~paste("Clarity : ", clarity))
htmlwidgets::saveWidget(as_widget(p), "index.html")

为了达到 work, you'll also need to install pandoc. On CentOS/RedHat do yum install pandoc pandoc-citeproc. On Mac OSX, using homebrew,请执行 brew install pandoc

此解决方案已经过测试并适用于 OSX 10.13.6 适用于 R-3.5.1。