Je veux exécuter un algorithme de détection de communauté sur un graphe. g
pour obtenir l'objet communautaire cd
et ensuite utiliser plot(cd,g)
pour créer un graphe où les communautés sont contenues dans des gouttes translucides. Cependant, je souhaite également colorer les sommets, et il semble que plot
remplace la coloration des sommets que je donne à V(g)$names
.
Voici un exemple pour montrer ce que je veux dire :
v1 <- c(1,1,2,3,4,4,6,7,8,9)
v2 <- c(2,3,3,4,5,6,5,8,9,7)
graph <- data.frame(v1,v2)
g <- graph.data.frame(graph, directed=FALSE)
cd <- fastgreedy.community(g)
vcolor <- c("white", "white", "white",
"blue", "blue", "blue",
"red", "red", "red")
vertex_attr(g)$color <- vcolor
plot(g)
plot(cd,g)
Quand vous plot(g)
les sommets sont rouges, blancs et bleus. Cependant, lorsque vous plot(cd,g)
ils sont bleus, verts et orange.
plot(g)
:
plot(cd,g)
:
Je veux garder les taches translucides, mais forcer ma propre coloration. La raison est que je veux comparer l'appartenance à une communauté (blobs) à une autre classification (couleurs des sommets).
Je n'ai pas eu le même problème lorsque j'ai changé les étiquettes des vertex. Je dois également noter que cela n'a pas fonctionné :
plot(cd,g,vertex.color=vcolor)