2012-03-15 9 views
6

मैं अपने नोड्स को पेड़ के रूप में व्यवस्थित करने की कोशिश कर रहा हूं। अभी के लिए, मैं इस उदाहरण से here से काम कर रहा हूं। वर्तमान में, मैं एक बल निर्देशित लेआउट पर भरोसा कर रहा हूं लेकिन इसे संशोधित करने की कोशिश कर रहा हूं कि मैं पूर्व निर्धारित संख्या वाले पेड़ प्राप्त कर सकता हूं यानी यदि कोई नोड किसी विशेष "परत" से संबंधित है, तो यह उसी क्षेत्र से संबंधित होना चाहिए जैसे अन्य नोड्स परत।मैं डी 3 और उसके बल लेआउट का उपयोग कर पेड़ कैसे बना सकता हूं?

मैंने नीचे दी गई तस्वीर में और अधिक व्याख्या करने की कोशिश की है, लेकिन क्या किसी के पास इसके लिए कोई सुझाव है? क्या d3 के अंदर कोई पूर्वनिर्धारित एल्गोरिदम है जो ऐसा करता है या इसे प्राप्त करने के लिए tweaked किया जा सकता है?

enter image description here

+0

स्रोत में एक गतिशील पेड़ के लिए एक उदाहरण है। आपको इसे देखना चाहिए, यह वही हो सकता है जो आप चाहते हैं (कम से कम यह समान दिखता है)। * संपादित करें: * मेरा मतलब है [यह उदाहरण] (https://github.com/mbostock/d3/blob/master/examples/tree/tree-dynamic.html)। –

+1

क्या कोई कारण है कि आप स्थिर पेड़ लेआउट के बजाय यहां एक बल-निर्देशित लेआउट का उपयोग कर रहे हैं, उदा। http://bl.ocks.org/1061834? – nrabinowitz

+0

@nrabinowitz: +1 धन्यवाद। विश्वास नहीं कर सकता मैं इसे याद किया! मुझे लगता है कि दोनों मेरे उद्देश्य की सेवा करेंगे! क्या कोई तरीका है कि मैं उन्हें इंटरैक्टिव बना सकता हूं ताकि जब मैं उन्हें कहीं खींचूं तो नोड्स वापस आ जाएंगे? यह कुछ नोड खींचने में मदद करता है और इसे किसी को समझाता है। – Legend

उत्तर

10

आपका आरेख this example जो एक कस्टम गुरुत्वाकर्षण गहराई के आधार पर बल का इस्तेमाल करने के लिए लगभग समान लग रहा है। एक कस्टम बल का उपयोग कर another example है जो पैरेंट नोड को आकर्षित करता है। ये बल लेआउट पर my talk दोनों हैं।

बेशक, बल लेआउट केवल एक विकल्प हैं- और @nrabinowitz ने कहा कि hierarchy layouts अधिक हैं। आप मेरी एसवीजी ओपन टॉक में moreinteractivehierarchyexamples पा सकते हैं।

+1

आप वास्तव में एक किंवदंती हैं! मुझे सभी उदाहरण दिखाने के लिए समय निकालने के लिए बहुत बहुत धन्यवाद। और वैसे, बहुत ही जानकारीपूर्ण बात। – Legend