r-以svg格式导出一个图形,它是一个"girafe"对象("ggigraph"



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。

相关内容

  • 没有找到相关文章

最新更新