【问题标题】:Saving from rCharts to image file从 rCharts 保存到图像文件
【发布时间】:2013-08-07 12:38:52
【问题描述】:

我想知道是否有办法将使用 rCharts 生成的图表保存到文件中(作为图像)。特别是,我想将使用“传单”生成的地图保存到文件中。

例如,可以使用以下方法生成示例地图:

require(rCharts)
L1 <- Leaflet$new()
L1$set(width = 1600, height = 800)
L1$setView(c(0,0), 3)
L1 

这会在浏览器中打开一个地图。现在,我可以右键单击地图并选择保存图像,但这只会保存地图的单个图块。我想将整个地图保存到文件中,并使用一些代码将其自动化(而不是手动单击和保存),因为我需要循环运行该过程。有什么建议吗?

【问题讨论】:

  • 您可以另存为HTML。对于在 rChart GitHub 页面上另存为图像 this discussion 可能会有所帮助。
  • 如果您正在寻找静态地图,更简单的方法是使用 ggmap,它非常灵活且效果很好。 @ROLO 链接的屏幕截图路线虽然有用,但需要在安装 node.js、casper.js 和许多依赖项方面做一些工作。 ggmap 解决方案会容易得多。

标签: r leaflet rcharts


【解决方案1】:

我不了解 rCharts,但您也许可以使用 Leaflet.print plugin 打印到静态文件。

【讨论】:

    【解决方案2】:

    这已经有多年历史了,但我在为自己寻找解决方案时遇到了它。我最终根据我看到的其他一些东西创建了一个。

    你可以这样做,但它必须分成几个步骤:

    1. 首先,像在 rCharts 中一样运行绘图。确保独立选项 = TRUE
    2. 接下来,将绘图保存为独立的 html 文件
    3. 接下来,在本地系统上使用 phantomjs 和 rasterize.js 将刚刚创建的 html 文件渲染成图像文件
    4. 最后,插入图片文件

    对于下面的代码,假设您的 rCharts 图已经创建为“myplot”

    tmpHtmlFile <- tempfile(fileext = '.html')
    tmpPngFile <- tempfile(fileext = '.png')
    myplot$save(tmpHtmlFile)
    renderCommand <- sprintf('phantomjs ./reference/rasterize.js %s %s', tmpHtmlFile, tmpPngFile)
    system(renderCommand)
    

    然后使用 tmpPngFile 插入到您的文档中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-07
      • 1970-01-01
      • 1970-01-01
      • 2013-05-31
      • 2019-09-03
      • 1970-01-01
      相关资源
      最近更新 更多