我正在寻找将ggraph
对象转换为迭代力网络的示例或教程。
首先,我尝试使用函数转换为plotly
对象。plotly::ggplotly
但似乎plotly
不能很好地处理这种转换并且错过了边缘。
但我发现network3D
,我可以将igraph
对象转换为network3D
对象,但这不是我想要的。而且这个包的功能太冗长了。无论如何,没有从ggraph
对象转换的功能。
所以,我的问题真的很基础,但是……你知道创建交互式ggraph
网络的任何方法吗?
谢谢
我正在寻找将ggraph
对象转换为迭代力网络的示例或教程。
首先,我尝试使用函数转换为plotly
对象。plotly::ggplotly
但似乎plotly
不能很好地处理这种转换并且错过了边缘。
但我发现network3D
,我可以将igraph
对象转换为network3D
对象,但这不是我想要的。而且这个包的功能太冗长了。无论如何,没有从ggraph
对象转换的功能。
所以,我的问题真的很基础,但是……你知道创建交互式ggraph
网络的任何方法吗?
谢谢
试试ggiraph包,它可以与 ggraph 一起使用,您可以在此处的示例中看到(页面底部)。
供将来参考(如果上面的链接可能会死),这是 ggiraph 的示例(不是我的代码):
library(ggraph)
library(igraph)
library(ggiraph)
actors <- data.frame(
name = c("Alice", "Bob", "Cecil", "David", "Esmeralda"),
age = c(48,33,45,34,21),
gender = c("F","M","F","M","F")
)
relations <- data.frame(
from = c("Bob", "Cecil", "Cecil", "David", "David", "Esmeralda"),
to = c("Alice", "Bob", "Alice", "Alice", "Bob", "Alice"),
same.dept = c(FALSE,FALSE,TRUE,FALSE,FALSE,TRUE),
friendship = c(4,5,5,2,1,1),
advice = c(4,5,5,4,2,3)
)
g <- graph_from_data_frame(relations,
directed = TRUE, vertices = actors)
z <- ggraph(g, layout = 'linear', circular = TRUE) +
geom_edge_arc(color = "red", edge_width = .2) +
geom_point_interactive(size = 5,
mapping = aes(x = x, y = y, data_id = gender,
tooltip = paste0(name, ": ", age, "y.o."))
) + theme_graph()
girafe(ggobj = z, width_svg = 5, height_svg = 5,
options = list(opts_sizing(rescale = FALSE)))
plotly 似乎还不支持 ggraph,但您可以在此处跟踪进度。