2017-10-24 1 views
3

私は自分のigraphネットワークで自己ループエッジのみを色づけしようとしています。ここに私のデータのサンプルがあります。セルフループに色を付けるにはどうしたらいいですか?

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 

ここでネットワークコード

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) 

> 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

はまた、ネットワークの外ループを維持するためにとにかくはありますか?

+0

はStackOverflowのへようこそ。 Rタグの上にカーソルを置いてください。最小限の再現可能な例を求めています。 [ここにはガイドがあります](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example#answer-5963610)。 'read.table(" network.txt ")'はあなたの問題を再現するのにはあまり役に立ちません。 – lukeA

答えて

3

あなたはこのようにそれを行うことができます:

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

enter image description here

+0

パーフェクト。これは私が必要とするものです。ありがとうございました。とにかく "自己ループ"をネットワークの外に保つこともあります。メインスレッドにこれを含めないことをお詫びします。 – user1676

+0

@ user1676私は気にしない。あなたは 'loop.angle'でarroundをプレイすることができます - '?igraph.plotting'を見てください。しかし、私はそうは思わない。 – lukeA

+0

賞賛! Rがこの美しいものをやることができるのは初めてのことです。 – Alice

関連する問題