3

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

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

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

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

4

2 回答 2

0

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

于 2013-09-25T17:03:16.753 回答
0

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

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

  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 插入到您的文档中

于 2017-02-01T18:28:49.247 回答