首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导出svg格式的图形,这是一个` `girafe`‘对象(`ggiGraph`包)

导出svg格式的图形,这是一个` `girafe`‘对象(`ggiGraph`包)
EN

Stack Overflow用户
提问于 2022-03-11 07:30:29
回答 1查看 248关注 0票数 0

ggiraph软件包适用于交互式图形的生成。

我试图执行一些在网上找到的有关软件包ggiraph的例子,但我无法找到如何导出生成的交互式图形的任何地方,可能是svg格式(或其他)。

守则如下:

代码语言:javascript
复制
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)

然后我试着出口:

代码语言:javascript
复制
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)

获取以下错误:

代码语言:javascript
复制
Error in UseMethod("grid.draw") : 
  no applicable method for 'grid.draw' applied to an object of class "c('girafe', 'htmlwidget')"

有人知道如何导出图像吗?

谢谢您的每一个最终的答复!贾科莫

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-11 09:00:52

可以使用htmltools::save_html(oggetto, "out.html")将包含svg的交互式绘图保存在HTML文件中。

out.html包含JavaScript,例如运行交互性所需的ggiraphjs.min.js。普通的SVG文件可以使用title属性显示工具提示,但是在两幅图上同时悬停的橙色点颜色似乎需要JavaScript。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71435042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档