有没有其他方法可以将 ggvis 导出到 PNG,而不是 export_png()?

Is there any alternative method to export ggvis to PNG, rather than export_png()?

我想知道是否有人知道将 ggvis 对象导出到 PNG 的任何替代方法。可以在 Linux 或 Windows.

上实施

谢谢

我找到了几种方法,我发布了一种更直接的方法。

所需的库

library(ggvis)
library(XML)
library(webshot)
library(htmltools)

正在生成 ggvis 并打印 HTML 本地目录

outfile <- mtcars %>% ggvis(~wt, ~mpg) %>% layer_smooths() %>% set_options(width = 1200, height = 800)  %>% view_static() %>% html_print( background = "white", viewer = getOption("viewer", utils::browseURL))

将 HTML 解析为字符向量

webst <- htmlParse(outfile, asText=FALSE)
showMethods(class=class(webst), where=search())
webst <- as(webst, "character")
class(webst)

使用正则表达式在 HTML 代码中搜索 SVG 对象的名称/生成 HTML 选择器

id <- webst %>% sub(pattern = "-container.*", replacement ="") %>% sub(pattern = ".*plot_", replacement ="") 
selec <- paste0("#plot_", id, " > div > svg")

使用 Webshot 截取浏览器的屏幕截图。

webshot(outfile, "test_webshot8.png",  selector = selec)

输出

如果您有如何简化的建议或更好的方法,我们将不胜感激。