2010-06-30 5 views
5

सॉफ्टवेयर विकास करते समय मैं समय-समय पर अपने स्वयं के उपयोग के लिए कुछ ग्राफ खींचने की ज़रूरत को पूरा करता हूं। कभी-कभी वे डीबी में रिश्तों को चित्रित करते हैं, कभी-कभी वे कोड फाइलों या कक्षाओं के संबंधों को चित्रित करते हैं, दूसरी बार अन्य वस्तुएं होती हैं ... वैसे भी, बुनियादी आवश्यकता एक जैसी होती है - मुझे नोड्स का कुछ सेट मिला है & किनारों जिन्हें मैं चाहूंगा अच्छी तरह से बाहर निकलने के लिए, कुछ सूचनात्मक रंग/ग्रंथ/शैलियों को जोड़ें और वैकल्पिक रूप से इसे अंत में प्रिंट करें (यदि आवश्यक हो तो कई पृष्ठों पर)।क्या अच्छा ग्राफ लेआउट, संपादन और ड्राइंग उपकरण हैं?

क्या कोई ऐसा उपकरण है जो मुझे आसानी से ऐसा करने की अनुमति देगा? विशेषताएं जो मैं अपेक्षा करता हूं:

  • फ़ाइल से मूल नोड/एज जानकारी आयात करें (कच्चे डेटा जिसे मैंने डीबी/कोड/जो कुछ भी निकाला है);
  • ग्राफ में कुछ या सभी नोड स्वचालित रूप से लेआउट;
  • मैन्युअल रूप से नोड और किनारे प्लेसमेंट समायोजित करने की अनुमति दें;
    • नोड समूह मैनिपुलेशन फीचर्स (रिलाउट, घुमाने, स्केल) भी बहुत अच्छा होगा;
  • तस्वीर के दृश्य पहलुओं में हेरफेर करने की क्षमता - रेखाएं, रंग और फ़ॉन्ट बदलें; मनमाने ढंग से ग्रंथों और चित्रों को जोड़ें (संभवतः उन्हें नोड्स/किनारों से जोड़ना);
  • सहेजें/लोड/(चिपकाने के लिए क्षेत्रों अतिव्यापी के साथ कई पृष्ठों सहित प्रिंट
  • नोड सामग्री (कभी कभी यह एक छोटे टेबल है, कभी कभी यह एक बुलेटेड सूची है आदि कभी कभी मैं सिर्फ एक साधारण पाठ की जरूरत है) को संशोधित करने की क्षमता एक साथ)/छवि को निर्यात (एंटी-एलियासिंग के साथ वेक्टर और रास्टर दोनों)।

जोड़ा गया:Here एक नमूना ग्राफ मैं सबसे हाल ही में कल्पना करने के लिए करने की कोशिश की है। मैं एक उपयोग करने योग्य लेआउट प्राप्त करना चाहता हूं जिसे मुद्रित करने से पहले न्यूनतम ट्वीकिंग की आवश्यकता हो।

उत्तर

3

Graphviz एक लंबे समय से लोकप्रिय लोकप्रिय है। मुझे वास्तव में yEd का लेआउट इंजन पसंद है, जिसे मैं GML डेटा खिलाता हूं (लेकिन यह अन्य प्रारूपों का समर्थन करता है)।

+1

अच्छा जवाब और प्रश्न, यह वास्तव में उपयोगी है ... मुझे वास्तव में दूसरे के लेआउट पसंद हैं, बहुत सुंदर! –

+0

मैंने उन्हें PHP फ़ाइल निर्भरताओं के छोटे ग्राफ पर दोनों की कोशिश की (जिसमें फ़ाइल में कौन सी फ़ाइल शामिल है)। 130 फाइलों की तरह कुछ था (जिनमें से आधा स्वतंत्र था) और समान संख्या में निर्भरताएं थीं। ग्राफविज़ ने व्यावहारिक रूप से उन्हें एक बहुत व्यापक/लंबा ग्राफ बनाने, सभी को रेखांकित किया। yEd थोड़ा बेहतर था, लेकिन अभी भी उपयोग करने योग्य कुछ भी करीब नहीं आया था। मैं कुछ बेहतर उम्मीद करता हूँ। –

+1

मुझे लगता है कि yEd के पास विभिन्न लेआउट प्रकार हैं, शायद कुछ कोशिश करें? – Mau

1

आप साइटोसस्केप का उपयोग कर सकते हैं, यह एक ग्राफ विज़ुअलाइजेशन टूल है। मुझे मजबूर निर्देशित रखना पसंद है।

1

मुझे लगता है Gephi बहुत अच्छा, मुख्य रूप से दो कार्यों के लिए:

  1. ग्राफ ब्राउज़िंग, अर्थात hidding कुछ भागों, चलती नोड्स, इसके साथ खेलते हुए उसके गुण समझने की कोशिश कर।
  2. इसे प्रस्तुतिकरण या आलेख के लिए निर्यात करने के लिए इसे प्रस्तुत करना?

डिफ़ॉल्ट रूप से अच्छे लेआउट एल्गोरिदम शामिल हैं, और आप टूल के भीतर आसानी से प्लगइन इंस्टॉल कर सकते हैं।

और यदि आपका लक्ष्य अपने ग्राफ का एक जानकारीपूर्ण और पठनीय प्रतिनिधित्व प्राप्त करना है, तो आप हाइव प्लॉट का उपयोग करने पर विचार कर सकते हैं। विवरण, उदाहरण और उपकरण this page से उपलब्ध हैं। बुनियादी विचार कुछ विशेषताओं या स्थलीय उपायों के आधार पर, नोड्स रखने के लिए एक निर्धारक विधि (बल-आधारित लेआउट के विरोध द्वारा) का उपयोग करना है।परिणामस्वरूप प्रतिनिधित्व विभिन्न ग्राफों की तुलनात्मक रूप से तुलना करने की अनुमति देता है, या यहां तक ​​कि एक ही ग्राफ को विभिन्न दृष्टिकोणों से माना जाता है।

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