2012-08-22 13 views
5

में igraph में एक नेटवर्क चित्र में दिखाई दे रहे हैं मैं एक निम्न igraphनियंत्रण जो किनारों आर

set.seed(1410) 
df<-data.frame(
"site.x"=c(rep("a",4),rep("b",4),rep("c",4),rep("d",4)), 
"site.y"=c(rep(c("e","f","g","h"),4)), 
"bond.strength"=sample(1:100,16, replace=TRUE)) 

library(igraph) 
df<-graph.data.frame(df) 
V(df)$names <- c("a","b","c","d","e","f","g","h") 
layOUT<-data.frame(x=c(rep(1,4),rep(2,4)),y=c(4:1,4:1)) 
E(df)[ bond.strength < 101 ]$color <- "red" 
E(df)[ bond.strength < 67 ]$color <- "yellow" 
E(df)[ bond.strength < 34 ]$color <- "green" 
V(df)$color <- "white" 
l<-as.matrix(layOUT) 
plot(df,layout=l,vertex.size=10,vertex.label=V(df)$names, 
edge.arrow.size=0.01,vertex.label.color = "black") 

enter image description here

में बनाया मैं सभी कोने/नोड्स लेकिन केवल किनारों जहां दिखाना चाहते हैं चित्र है bond.strength> 34 (यानी केवल लाल और पीले रंग के किनारों)। मैं सफेद करने के लिए bond.strength < 34 सेट करके ऐसा नियंत्रित कर सकते हैं लेकिन यह काफी जब मेरी वास्तविक डेटा के रूप में सफेद किनारों "के माध्यम से कटौती" सेट पर नहीं किया जाता है अन्य किनारों यानी

enter image description here

वहाँ अन्य तरीके बस सभी किनारों को दिखाते हुए किन किनारों को नियंत्रित कर रहे हैं? धन्यवाद

उत्तर

5

मुझे आश्चर्य है अगर आप रेखाओं का रंग सेट पारदर्शी होने के लिए क्या होता है, कुछ की तरह:

E(df)[ bond.strength < 34 ]$color <- "#FF000000" 

मैं उस रंग संख्या के साथ पकाया जाता है:

hsv(1,1,1,alpha=0) 

वैकल्पिक रूप से, आप कर सकते थे अंदर जाओ और उन्हें अपने edgelist से छोड़ दें।

+0

यह अच्छी तरह से काम किया। धन्यवाद! – Elizabeth

+1

यह वास्तव में सही नहीं है, क्योंकि कुछ डिवाइस पारदर्शिता का समर्थन नहीं करते हैं। एक बेहतर समाधान लाइन प्रकार को '0' पर सेट करना है, जिसका अर्थ है कि कोई भी पंक्ति नहीं है:' ई (डीएफ) [बॉन्ड.स्टेंथथ <34] $ lty <- 0'। –

+0

बहुत अच्छा! पारदर्शिता वह चाल थी जिसे मुझे नोड्स को चुपचाप गायब करने की ज़रूरत थी। आकार = 0, आकार = "कोई नहीं" और कई अन्य सेटिंग्स बस काम नहीं किया। धन्यवाद – Raffael

संबंधित मुद्दे