我想使用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)
生成此图表后,当我点击&#34;导出&#34;在R-Studio的Plot窗口中的按钮,它为我提供了将绘图保存为网页的选项。如何编写将生成的图表保存为网页的过程?我的最终目标是从bash脚本中迭代运行Rscripts以生成多个网页。
答案 0 :(得分:38)
将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")
答案 1 :(得分:0)
为R-3.5.1和plotly-4.8.0更新Andrew的answer,即:
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,还需要安装pandoc。在CentOS / RedHat上执行yum install pandoc pandoc-citeproc
。在Mac OSX上,使用homebrew,执行brew install pandoc
。
该解决方案已经过测试,可在R-3.5.1的OSX 10.13.6上运行。