簡體   English   中英

導出svg格式的圖,是一個`girafe` object(`ggiraph`包)

[英]Exporting a graph in svg format, which is a `girafe` object (`ggiraph` package)

ggiraph package 適用於生成交互式圖形。

我試圖執行一些在網上找到的關於 package 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 的交互式 plot 保存在 HTML 文件中

out.html包含 JavaScript,例如運行交互所需的ggiraphjs.min.js 普通 SVG 文件可以使用 title 屬性顯示工具提示,但兩個圖上 hover 上的橙色點顏色同時似乎需要 JavaScript。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM