我创建了一个图,并使用了传播标签社区检测算法来检测图中的子组。然后,我绘制了图形,并根据它们的组成员资格使用彩虹色为顶点着色。这是我使用的代码:
g <- watts.strogatz.game(1, 100, 5, 0.05)
clp <- cluster_label_prop(g)
V(g)$community <- clp$membership
rain <- rainbow(14, alpha=.5)
V(g)$color <- rain[V(g)$community]
plot(g, vertex.size=4, vertex.label=NA)
我现在想用与该子组相同的颜色为子组成员之间的边缘上色,以更好地突出组内关系。我想保持小组之间的联系为灰色。我无法解决该问题,我们将不胜感激。
谢谢
以下应该工作:
library(igraph)
g <- watts.strogatz.game(1, 100, 5, 0.05)
clp <- cluster_label_prop(g)
V(g)$community <- clp$membership
rain <- rainbow(14, alpha=.5)
V(g)$color <- rain[V(g)$community]
E(g)$color <- apply(as.data.frame(get.edgelist(g)), 1,
function(x) ifelse(V(g)$community[x[1]] == V(g)$community[x[2]],
rain[V(g)$community[x[1]]], '#00000000'))
plot(g, vertex.size=4, vertex.label=NA, edge.color=E(g)$color)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句