是否可以使用 ggraph 创建社区图?

问题描述 投票:0回答:1

我想在 ggraph 中创建一个社区图。这可能吗?

我使用 base plot 函数和 igraph 制作了一个版本。不确定我如何使用 ggraph 执行此操作。

partitioning network-analysis ggraph
1个回答
0
投票

ggforce 包包含可应用于 ggraph 网络的 geom_mark_x() geom。 geom_mark_hull() 看起来最接近你的例子。

例如:

gr <- as_tbl_graph(highschool) |>
mutate(
     feat1 = sample(LETTERS[1:3], n(), replace = TRUE),
     feat2 = sample(LETTERS[1:8], n(), replace = TRUE)
   ) |>
   mutate_at(vars(feat1, feat2), as.factor)

ggraph(gr, layout='kk', circular=F) + geom_mark_hull(aes(x,y,fill=feat1)) + geom_node_point() + geom_node_text(aes(label=name)) + geom_edge_link()

填充美学决定了每个节点的颜色!

© www.soinside.com 2019 - 2024. All rights reserved.