आर

2015-05-21 7 views
6

में iGraph में नोड/वर्टिस अस्पष्टता बदलना मेरे पास एक नेटवर्क है, जब मैं इसे साजिश करता हूं, तो कई ओवरलैपिंग नोड्स होते हैं। मैं रंगों की अस्पष्टता को बदलना चाहता हूं ताकि जब आप ओवरलैप हों तो आप दूसरों के नीचे नोड्स देख सकते हैं। उदाहरण के तौर पर, इस वीडियो को देखें: https://vimeo.com/52390053आर

मैं अपने प्लॉट के लिए iGraph का उपयोग कर रहा हूं।

net1 <- graph.data.frame(myedgelist, vertices=nodeslist, directed = TRUE) 

g <- graph.adjacency(get.adjacency(net1)) 

V(g)$color <- nodeslist$colors #This is a set of specific colors corresponding to each node. They are in the format "skyblue3". (These plot correctly for me). 

E(g)$color <-"gray" 

plot.igraph(g) 

मुझे नहीं है, तथापि, नोड रंग की अस्पष्टता को बदलने के लिए iGraph में एक विकल्प मिल सकता है: यहाँ कोड का एक सरलीकृत blurb है।

कोई विचार यह है कि मैं यह कैसे कर सकता हूं? मैंने सोचा कि शायद V(g)$alpha <- 0.8 जैसा कुछ है, लेकिन यह कुछ भी नहीं करता है।

उत्तर

9

आप उदाहरणना चाहते हैं उदाहरण के लिए इस:

library(igraph) 
set.seed(1) 
g <- barabasi.game(200) 
plot(g, 
    vertex.color = adjustcolor("SkyBlue2", alpha.f = .5), 
    vertex.label.color = adjustcolor("black", .5)) 

enter image description here

+1

बिल्कुल सही है, धन्यवाद। मैंने इसे अपने कोड में निम्नानुसार समायोजित किया: साजिश (जी, vertex.color = समायोजक (nodeslist $ रंग, alpha.f = .5)) दिलचस्प बात यह है कि यह tkplot(), केवल साजिश ()। चूंकि मुझे कुछ चीजों को चारों ओर स्थानांतरित करने की आवश्यकता है, मुझे सामान्य प्लॉट() फ़ंक्शन में tkplot() निर्देशांक को शामिल करने की आवश्यकता होगी और फिर अस्पष्टता में परिवर्तन करें। – Net20

3

एक तरह से मैं lukeA द्वारा प्रदान की विधि की तुलना में नियंत्रित करने के लिए आसान लगता है rgb उपयोग करने के लिए है()। आर, जी, बी, और एक (अल्फा):

library(igraph) 
set.seed(1) 
g <- barabasi.game(200) 
plot(g, 
    vertex.color = rgb(0,0,1,.5), 
    vertex.label.color = rgb(0,0,0,.5)) 

enter image description here

एक और लाभ यह आप अपने चार चैनलों के मामले में (एक नोड, नोड फ्रेम, धार, आदि की) रंग निर्दिष्ट कर सकते हैं क्या आप एक वेक्टर के अनुसार आसानी से अल्फा (या रंग) बदल सकते हैं। नीचे दिए गए उदाहरण बिल्कुल व्यावहारिक नहीं है, लेकिन आप विचार है कि यह कैसे इस्तेमाल किया जा सकता है:

library(igraph) 
set.seed(1) 
g <- barabasi.game(200) 

col.vec <- runif(200,0,1) 
alpha.vec <- runif(200,0,1) 

plot(g, 
    vertex.color = rgb(0,0,col.vec,alpha.vec), 
    vertex.label.color = rgb(0,0,0,.5)) 

enter image description here