有没有其他方法可以将 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)
输出
如果您有如何简化的建议或更好的方法,我们将不胜感激。
我想知道是否有人知道将 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)
输出
如果您有如何简化的建议或更好的方法,我们将不胜感激。