Ich versuche eine Igraph in R zu erzeugen. Jetzt möchte ich die Kantenfarbe abhängig von einem Kantenattribut - Abteilung. Ich kann keine ifelse-Anweisung verwenden, da Abteilungswerte dynamisch sein können. Ich kann die Anzahl der einzelnen Abteilungen finden, aber ich bin mir nicht sicher, wie ich bei der Erstellung verschiedener Randfarben für verschiedene Abteilungen weiter vorgehen soll.Igraph in R: Wie ändere ich die Kantenfarbe basierend auf Kantenattribut
department= unique(edges$department)
department.count=length(department)
Beispielcode:
gg <- graph.atlas(711)
V(gg)$name=1:7
gg=set_edge_attr(gg,"Department",E(gg)1:10],c("A","B","C","A","E","C","G","B","C","A"))
E(gg)$label=E(gg)$Department
plot(gg)
möchte ich für jede Kante unterschiedliche Farben aufweisen, abhängig von Werten der Abteilung in Rand. Alle 'A' Abteilungen in einer Farbe, alle B Abteilung Kanten in einer anderen Farbe, so weiter. Bitte helfen.
Ich habe den betreffenden Code hinzugefügt. Ich habe versucht, unter dem Code, ich konnte verschiedene Farben erzeugen, aber die Farben sind sehr hell und ich war NICHT in der Lage, die Kanten zu unterscheiden. F2 <- colorRampPalette (c ("rot", "schwarz", "orange"), bias = Länge (eindeutig (Kanten $ Abteilung)), Leerzeichen = "rgb", interpolieren = "linear") colCodes <- F2 (Länge (unique (edges $ Department))) edges_col <- sapply (Kanten $ Department, Funktion (x) colCodes [which (sort (unique (Kanten $ Abteilung)) == x)]) E (ig) $ color <-edges_col - – hr02
Hinzufügen der Zeile 'E (gg) $ color <- as.factor (E (gg) $ Abteilung)' bevor Ihre Plot-Anweisung den Trick machen sollte. – jac
Danke Jac. Es funktionierte für die Handlung – hr02