2017-01-28 29 views
1

私はグラフを作成し、伝播するラベルのコミュニティ検出アルゴリズムを使用してグラフ内のサブグループを検出しました。私はグラフをプロットし、虹色を使ってグループメンバシップに従って頂点を色付けしました。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] 
plot(g, vertex.size=4, vertex.label=NA) 

今良好群内の関係を強調するために、そのサブグループと同じ色のサブグループのメンバーの間にある縁を着色したい:ここで私が使用されるコードです。グループ間の関係をグレーのままにしたい。私はそれをする方法を働かせることはできません、助けが大いに感謝されるでしょう。以下は動作するはず

おかげ

答えて

1

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) 

enter image description here

+0

非常に素晴らしいありがとう! – JRO

+0

あなたは大歓迎です@ JRO –

関連する問題