2016-09-02 5 views
7

मेरे पास कुछ सौ नोड्स और किनारों वाला ग्राफ है। डिस्कनेक्ट किए गए सबग्राफ अलग हो जाते हैं और अच्छी तरह से हल होते हैं लेकिन उपग्राफ के भीतर नोड्स ओवरलैप होते हैं और अच्छी तरह से हल नहीं करते हैं। मैंने कई लेआउट एल्गोरिदम की कोशिश की है और लेआउट एल्गोरिदम (ex: iter, kkconst, start.temp आदि) के भीतर प्रासंगिक मानकों को बदलने का भी प्रयास किया है। लेकिन, मैं अभी भी कसकर क्लस्टर नोड्स फैलाने में सक्षम नहीं हूं। नीचे चित्र देखें।अनुच्छेद: तंग ओवरलैपिंग नोड्स को हल करना

मैं आकर्षण/प्रतिकृति/गुरुत्वाकर्षण आदि को नियंत्रित करने के लिए कुछ पैरामीटर ढूंढने की उम्मीद कर रहा था लेकिन ऐसा कोई नहीं लगता है। इस question में bdemarest से उत्तर और आंकड़े इस समस्या को ठीक करने लगते हैं। आश्चर्यजनक रूप से पर्याप्त, कई प्रतीत होता है उपयोगी पैरामीटर को igraph (coolexp, maxdelta, क्षेत्र, repulserad आदि) के नए संस्करण में बहिष्कृत किया गया है।

क्या कोई भी उप-ग्राफ को अच्छी तरह से अलग करने के तरीके को जानता है ताकि नजदीक नोड्स को फैलाने के दौरान पर्याप्त रूप से पर्याप्त न हो?

graphs

उत्तर

5

मैं इसे पैकेज qgraph का उपयोग कर काम करने के लिए पाने में कामयाब रहे। '- get.edgelist (छ) ई <' सूचकांक को रोकने के लिए की जरूरत है

library(igraph) 
library(qgraph) 

g <- barabasi.game(355, directed=FALSE) 

png("plot1.png", height=6, width=12, units="in", res=250) 
par(mfrow=c(1, 3)) 

plot(g,layout=layout_with_fr,vertex.size=4,vertex.label=NA) 
mtext("layout_with_fr", side=1) 

e <- get.edgelist(g) 
l <- qgraph.layout.fruchtermanreingold(e,vcount=vcount(g)) 
plot(g,layout=l,vertex.size=4,vertex.label=NA) 
mtext("qgraph.layout.fruchtermanreingold default", side=1) 

l <- qgraph.layout.fruchtermanreingold(e,vcount=vcount(g), 
     area=8*(vcount(g)^2),repulse.rad=(vcount(g)^3.1)) 
plot(g,layout=l,vertex.size=4,vertex.label=NA) 
mtext("qgraph.layout.fruchtermanreingold modified", side=1) 

dev.off() 

fig2

+0

@mf में आप कोड:

enter image description here

यहाँ एक काम कर उदाहरण है। फिर, आपको 'e <- get.edgelist (g, names = गलत) के लिए परिवर्तन की आवश्यकता है। – fmassica

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