我在绘制社区时遇到了问题。请考虑以下MWE
library(igraph)
m <- matrix(c(0,0,0,0,0,0,
1,0,0,0,0,0,
0,0,0,0,1,0,
4,1,0,0,0,0,
0,0,0,0,0,1,
0,0,0,0,0,0),nrow=6,ncol=6)
g <- graph.adjacency(m)
memb <- membership(edge.betweenness.community(g))
memb
# [1] 1 1 2 1 2 2
我希望在做
时可以看到情节中的两个社区plot(g, mark.groups=list(memb), edge.width=0.5, edge.arrow.width=0.2)
但实际上我只有一个社区
我做错了吗?
答案 0 :(得分:4)
您可以绘制社区结构检测的结果,即communities
对象,而不是绘制图形。请参阅?plot.communities
中的示例。
ebc <- edge.betweenness.community(g)
plot(ebc, g)
答案 1 :(得分:1)
如果我正确理解了您的问题,那么您使用的mark.groups
参数错误。试试
plot(g,
mark.groups=lapply(unique(memb), function(n) which(memb==n)),
edge.width=0.5,
edge.arrow.width=0.2)