2017-10-24 2 views
3

Ich versuche, nur Selbst-Schleife Ränder in meinem iigraph Netz zu färben. Hier ist das Beispiel meiner Daten. HierWie kann ich Self-Loops einfärben?

head(network.txt) 
From To 
A A 
A B 
A C 
A D 
B A 
B B 
B C 
B D 
C A 
C B 
C C 
C D 
D A 
D B 
D C 
D D 

ist der Netzwerkcode

df=read.table("network.txt", header = TRUE) 

nodes=unique(df$From) 

g=graph_from_data_frame(df) 

plot(g, edge.arrow.size=0.2, vertex.color="gold", vertex.size=15, vertex.frame.color="gray", vertex.label.color="black", vertex.label.cex 
    =0.5, vertex.label.dist=0, edge.curved=0.2, edge.color="black", main="Adult CRC network", layout=layout_in_circle) 

und

> head(E(g)) 
+ 6/16 edges from ea19d0a (vertex names): 
[1] A->A A->B A->C A->D B->A B->B 

Here is the output network

Auch ist es trotzdem, um die Schlaufen zu halten außerhalb des Netzwerks?

+0

Willkommen bei Stackoverflow. Bitte bewegen Sie den Mauszeiger über den R-Tag - es wird nach einem minimalen reproduzierbaren Beispiel gefragt. [Hier ist eine Anleitung] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example#answer-5963610) auf, wie man einen macht. 'read.table (" network.txt ")' ist nicht sehr hilfreich, um Ihr Problem zu reproduzieren, da niemand außer Ihnen die Daten hat. – lukeA

Antwort

3

Man könnte es wie folgt tun:

library(igraph) 
g <- make_full_graph(10, loops = TRUE) 
plot(g, edge.color = ifelse(is.loop(g), "red", "grey")) 

enter image description here

+0

Perfekt. Das ist das, was ich benötige. Vielen Dank. Außerdem gibt es sowieso keine "Selbstschleife" außerhalb des Netzwerks. Entschuldigung dafür, dass dies nicht im Hauptthread enthalten ist. – user1676

+0

@ user1676 Ich weiß nicht. Ich denke du kannst mit "loop.angle" herumspielen - siehe '? Iigraph.plotting'. Aber ich denke nicht. – lukeA

+0

AMAIZING! Das ist das erste Mal, dass ich weiß, dass R dieses schöne Zeug machen kann. – Alice

Verwandte Themen