2014-04-23 25 views
5

में नोड ओवरलैप को रोकें मैंने सोशल नेटवर्क विश्लेषण के लिए एक बल निर्देशित ग्राफ बनाया है।बल निर्देशित ग्राफ

समस्या जो मैं का सामना करना पड़ रहा

मैं बल निर्देशित ग्राफ में नोड के अतिव्यापी कैसे रोका जा सकता है, कि नोड्स एक दूसरे अतिव्यापी रहती है?

यहाँ मेरी code with dummy data

और पीछा कर रहा है मेरी शक्ति के लिए छवि निर्देशित ग्राफ

enter image description here

enter image description here

मैं कैसे निकाल सकते हैं इन नोड्स के अतिव्यापी है? और मैं लिंक के बीच कम से कम दूरी कैसे रख सकता हूं ताकि लिंक ठीक से दिखाई दे सकें?

+2

टकराव का पता लगाने? http://bl.ocks.org/mbostock/3231298 – Josh

+0

@ जोश मैंने 'var q = d3.geom.quadtree (graph.nodes), i = 0, n = nodes.length रखा है; जबकि (++ i analyticalpicasso

+1

आप अपने बल लेआउट पर "चार्ज" पैरामीटर भी बढ़ा सकते हैं, और शायद इसे नोड प्रकार का फ़ंक्शन बना सकते हैं (ताकि बड़े आइकन छोटे से छोटे से अधिक एक दूसरे को धक्का दें)। हालांकि, आपके पास मौजूद लिंक की संख्या के कारण आप अभी भी ओवरलैपिंग लाइनों के लिए जा रहे हैं। – AmeliaBR

उत्तर

8

डी 3 फोर्स लेआउट में ओवरलैप से बचने के लिए दो दृष्टिकोण हैं।

पहला force object के पैरामीटर को समायोजित करना है, जिनमें से सबसे प्रासंगिक "चार्ज" पैरामीटर है। नकारात्मक "चार्ज" मान वाले नोड्स अन्य नोड्स को धक्का देते हैं (सकारात्मक मूल्यों के साथ बनाम नोड्स अन्य नोड्स को करीब खींचते हैं), और आप अधिक धक्का देने के लिए चार्ज की मात्रा बढ़ा सकते हैं।

"चार्ज" के लिए डिफ़ॉल्ट मान -30 है, इसलिए वहां से आप इसे तब तक समायोजित कर सकते हैं जब तक आपको कोई प्रभाव न हो। आपके इच्छित मूल्य को निर्धारित करने के लिए कोई आसान सूत्र नहीं है, क्योंकि यह अन्य पैरामीटर और आपके ग्राफ़ में लिंक की मात्रा पर भी निर्भर करता है।

यदि किसी भी कारण से शुल्क समायोजित करने के लिए आपके लिए काम नहीं करता है (उदाहरण के लिए, यदि आप नोड्स को एक दूसरे के करीब क्लस्टर करना चाहते हैं - एक दूसरे को पीछे हटाना नहीं है - लेकिन फिर भी ओवरलैप नहीं है), तो आप मैन्युअल रूप से मैन्युअल रूप से कर सकते हैं टिप्पणियों में जोश द्वारा सुझाए गए this Mike Bostock example में ओवरलैपिंग नोड्स की जांच करें।

+0

एक और (कम स्पष्ट) जहां ओवरलैप से बचा जाता है https://bl.ocks.org/mbostock/1062383 है – Fuhrmanator

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