जैसा कि @ निंजलज बताता है, ग्राफविज़ के बारे में साफ-सुथरी चीजों में से एक यह है कि यह आपको ग्राफ को अच्छी तरह से प्रदर्शित करने और "त्रुटियों" या "अपूर्णताओं" से छुटकारा पाने की अनुमति देता है जैसे कि ओवरलैप्स - उदा। overlap
और overlap_scaling
जैसे गुणों का उपयोग करके।
हालांकि, अगर आप का कहना है कि:
मैं जानता हूँ कि मैं एक्स और नोड्स के y स्थितियां और मजबूर कर सकते हैं इस प्रकार ओवरलैप प्रेरित है, लेकिन इस मामले में, मैं एक सी # प्रोग्राम है जो कुछ इनपुट spits दिया लिख रहा हूँ ग्राफ के लिए प्रासंगिक डॉट स्क्रिप्ट को बाहर निकालें, इसलिए नोड्स की संख्या, आदि हार्डकोड नहीं हैं और इसलिए मैं सभी नोड्स के हार्ड-कोड x और y पदों के लिए एक योजना के साथ नहीं आ सकता।
तो, जैसा कि मैंने इसे देखा, आप क्या कहते हैं कि आप जानते हैं कि जब आपको एक निश्चित इनपुट दिया जाता है, तो आप एक निश्चित ग्राफ उत्पन्न करने जा रहे हैं - दूसरे शब्दों में, आप नोड्स की संख्या जानते हैं (और क्लस्टर) इनपुट के एक समारोह के रूप में। इससे मुझे लगता है कि @ डैनियल किन्समैन का सुझाव आपके लिए जाने का तरीका हो सकता है - यानी, उस विशेष उद्देश्य के लिए अपने स्वयं के डीओटी लेआउट इंजन को लागू करना।
मुझे नहीं लगता कि यह आसान है, हालांकि, यह असंभव नहीं है और निश्चित रूप से आवश्यक तर्क आपके आवेदन के लक्ष्य पर निर्भर करता है।
लेकिन किसी भी कार्यान्वयन करने से पहले, मुझे लगता है कि आप पहले से ही cluster
functionality Graphviz (जो @Daniel Kinsman यह भी बताता है) में बनाया पर एक नजर है और यदि यह वास्तव में एक कस्टम डॉट लेआउट करने के लिए अतिरिक्त प्रयास के लायक है बारे में सोचना चाहिए इंजन कार्यान्वयन या क्लस्टर कार्यक्षमता आपके लिए पर्याप्त हो सकती है।
स्रोत
2012-09-06 16:11:46
आप लगभग डीओटी के लिए अपना खुद का लेआउट इंजन लिखना चाहते हैं, जो तुच्छ नहीं है। हालांकि इसे प्राप्त करने के अन्य तरीके हो सकते हैं, शायद उप-अनुच्छेद "क्लस्टर" कीवर्ड (जैसे सबग्राफ क्लस्टरफू {...}) के साथ खेलें। यह मदद कर सकता है यदि आप उल्लेख करते हैं कि आप उन्हें ओवरलैप क्यों करना चाहते हैं, तो आप किस चीज का प्रतिनिधित्व करने की कोशिश कर रहे हैं? –
हां, ये ओवरलैपिंग नोड्स 'क्लस्टर' की तरह हैं, और मेरे ग्राफ में मैं ऐसे कई क्लस्टर दिखाना चाहता हूं। ओवरलैपिंग नोड्स का प्रत्येक सेट एक समूह से संबंधित है, और मेरे विज़ुअलाइज़ेशन में उन्हें ओवरलैपिंग के रूप में दिखाने के लिए मानक है। तो, मैं यह – assassin
प्राप्त करना चाहता था, मैंने सोचा था कि 'डॉट' का पूरा बिंदु एज और नोड ओवरलैप से बचने के लिए था? – ninjalj