r语言 - 强制 Rscript 在浏览器查看器中按情节打开



我在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 或来自控制台的Rscript plot.R source('plot.R')似乎都没有打开浏览器并保存图像。没有错误。

我需要能够使用Rscript命令运行此脚本。

更新

感谢Krystian的回答,为Rstudio增加了print()帮助。但是,我仍然无法打开浏览器查看器 frm RScript。

只需在创建的图上强制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

如果您有兴趣保存图像而不是查看浏览器打开,以下脚本可以帮助您: https://gist.github.com/anadiedrichs/68dbadd4135acc9a51ff8520a5cd987c

该示例使用 Webshot 库来执行所需的操作。

  1. 您必须安装plotly,webshot和htmltools软件包
  2. 运行: webshot::install_phantomjs()
  3. 根据自己的需要使用/修改以下脚本。

相关内容

  • 没有找到相关文章

最新更新