Ich versuche, die Knotenfarben in einem bestimmten Diagramm zu ändern, aber der Befehl V(gsna)$color
funktioniert nicht. Aus irgendeinem Grund kann ich Formen ändern, aber keine Farben. Insbesondere möchte ich die Farben der Knoten ändern, die jeden zusammenhängenden Block belegen. Die Standardfarben werden im Schwarzweißdruck nicht gut gelesen. Der Datensatz sna ist eine asymmetrische 2-Mode-Inzidenzmatrix. Hier ist ein Beispiel (in Wirklichkeit ist der Datensatz viel größer):Wie ändert man Knotenfarben von zusammenhängenden Blöcken?
Attr1 Attr2 Attr3 Attr4 Attr5
Subj1 1 0 0 1 1
Subj2 1 0 0 1 1
Subj3 1 0 1 0 1
Subj4 1 0 0 1 1
Subj5 0 1 0 0 0
Subj6 0 1 1 0 0
ich die cohesive.blocks verwendet() Befehl hierarchisch verschachtelte Blöcke zu erstellen. Themen werden durch Kreise dargestellt, Attribute werden durch Quadrate dargestellt. Hier ist mein Code:
library(igraph)
as.matrix(sna) -> sna
gsna <- graph.incidence(sna)
bloc <- cohesive.blocks(gsna)
par(mar=c(.05,.05,.05,.05),cex=.8)
V(gsna)[V(gsna)$type == 1]$shape <- "square"
V(gsna)[V(gsna)$type == 0]$shape <- "circle"
plot(bloc,gsna,layout=layout.fruchterman.reingold,vertex.size=5,edge.color="gray40",
vertex.label.color="black",mark.groups=blocks(bloc))
Ich habe auch versucht vcol <- colorRampPalette(c("red4","green","aliceblue"))
und das Hinzufügen der vertex.color=vcol
Option zu dem Grundstück() Funktion, aber das ändert nichts.