我在plot.R
文件中有以下代码。
library(plotly)
options(browser = "/opt/google/chrome/chrome")
options(viewer = NULL)
plot_ly(economics, x = ~date, y = ~pce, z = ~pop) %>%
htmlwidgets::onRender(
"function(el, x) {
var gd = document.getElementById(el.id);
Plotly.downloadImage(gd, {format: 'png', width: 600, height: 400, filename: 'plot'});
}"
)
从Rstudio或R控制台运行此代码按预期工作:svg图像保存在chrome中指定的下载目录中。但是来自RStudio的source('plot.R')
或来自控制台的Rscript plot.R
似乎都没有打开浏览器并保存按揭。没有错误。
我需要能够使用Rscript
命令运行此脚本。
更新
感谢Krystian的回答,为Rstudio添加了print()
。但是,我仍然无法使用浏览器查看器打开frym。
答案 0 :(得分:1)
在创建的地图上强制print
方法:
plot_ly(economics, x = ~date, y = ~pce, z = ~pop) %>%
htmlwidgets::onRender(
"function(el, x) {
var gd = document.getElementById(el.id);
Plotly.downloadImage(gd, {format: 'png', width: 600, height: 400, filename: 'plot'});
}"
) %>% print
答案 1 :(得分:0)
如果您有兴趣保存图片而不是看到浏览器打开,以下脚本可以帮助您:https://gist.github.com/anadiedrichs/68dbadd4135acc9a51ff8520a5cd987c
该示例使用 webshot 库来执行您需要的操作。
webshot::install_phantomjs()