以 svg 格式导出图形,这是一个 `girafe` 对象(`ggiraph` 包)
Exporting a graph in svg format, which is a `girafe` object (`ggiraph` package)
ggiraph
包适用于生成交互式图形。
我试图执行一些在网上找到的关于包 ggiraph
的例子,但我无法在任何地方找到如何导出生成的交互式图形,可能是 svg(或其他)格式。
代码下方:
library(ggplot2)
library(ggiraph)
library(patchwork)
library(cowplot)
mtcars <- mtcars
mtcars$tooltip <- rownames(mtcars)
gg1 <- ggplot(mtcars) +
geom_point_interactive(aes(x = drat, y = wt, color = qsec,
tooltip = tooltip, data_id = tooltip ), size = 4)
gg2 <- ggplot(mtcars) +
geom_point_interactive(aes(x = qsec, y = disp, color = mpg,
tooltip = tooltip, data_id = tooltip ), size = 4)
然后我尝试导出它:
oggetto <- girafe( ggobj = plot_grid(gg1, gg2), width_svg = 8, height_svg = 4)
library(svglite)
ggsave(file="test.svg", plot=oggetto, width=10, height=8)
出现以下错误:
Error in UseMethod("grid.draw") :
no applicable method for 'grid.draw' applied to an object of class "c('girafe', 'htmlwidget')"
有人知道如何导出图像吗?
提前感谢您的每一个最终回复!
贾科莫
您可以使用 htmltools::save_html(oggetto, "out.html")
将包含 svg 的交互式绘图保存在 HTML 文件中
out.html
包含 JavaScript 例如ggiraphjs.min.js
需要 运行 交互性。普通 SVG 文件可以使用 title 属性显示工具提示,但同时悬停在两个图上的橙色点颜色似乎需要 JavaScript.
ggiraph
包适用于生成交互式图形。
我试图执行一些在网上找到的关于包 ggiraph
的例子,但我无法在任何地方找到如何导出生成的交互式图形,可能是 svg(或其他)格式。
代码下方:
library(ggplot2)
library(ggiraph)
library(patchwork)
library(cowplot)
mtcars <- mtcars
mtcars$tooltip <- rownames(mtcars)
gg1 <- ggplot(mtcars) +
geom_point_interactive(aes(x = drat, y = wt, color = qsec,
tooltip = tooltip, data_id = tooltip ), size = 4)
gg2 <- ggplot(mtcars) +
geom_point_interactive(aes(x = qsec, y = disp, color = mpg,
tooltip = tooltip, data_id = tooltip ), size = 4)
然后我尝试导出它:
oggetto <- girafe( ggobj = plot_grid(gg1, gg2), width_svg = 8, height_svg = 4)
library(svglite)
ggsave(file="test.svg", plot=oggetto, width=10, height=8)
出现以下错误:
Error in UseMethod("grid.draw") :
no applicable method for 'grid.draw' applied to an object of class "c('girafe', 'htmlwidget')"
有人知道如何导出图像吗?
提前感谢您的每一个最终回复! 贾科莫
您可以使用 htmltools::save_html(oggetto, "out.html")
out.html
包含 JavaScript 例如ggiraphjs.min.js
需要 运行 交互性。普通 SVG 文件可以使用 title 属性显示工具提示,但同时悬停在两个图上的橙色点颜色似乎需要 JavaScript.