खुले स्रोत जावा ग्राफ़ ड्राइंग फ्रेमवर्क का उपयोग निम्नलिखित आवश्यकताओं के साथ नेटवर्क आरेख के लिए उपयोग करने के लिए करता है? ग्राफ में 1000 से कम नोड्स होंगे।नेटवर्क टोपोलॉजी ड्राइंग के लिए ओपन सोर्स जावा ग्राफ ड्राइंग फ्रेमवर्क (जंगल और प्रीफ्यूज) की तुलना
1) समानांतर किनारों
2) का निर्देशन किया और एक भी ग्राफ
3) के भीतर अनिर्दिष्ट किनारों छवियों
4) नोड्स के साथ उपयोगकर्ता बातचीत का प्रतिनिधित्व करती नोड हैं और किनारों
5) गतिशील रूप से जोड़ने/नोड्स और किनारों को हटाने
6) नोड्स और किनारों पर एकाधिक लेबलिंग, लेबलिंग के विभिन्न स्तर उपयोगकर्ताओं द्वारा बंद/चालू किया जा सकता है। (परतों में ड्राइंग और एक परत पर बंद करना)
7) स्टार, अंगूठी, जाल टोपोलॉजीज प्रदर्शित करने के लिए विभिन्न लेआउट एल्गोरिदम
मैंने जंगल और प्रीफ्यूज का मूल्यांकन किया। यह मेरी आवश्यकताओं में से प्रत्येक के लिए मिला है।
1) प्रीफ्यूज समानांतर किनारों को प्रदर्शित नहीं कर सकता है जबकि जंगल इसका समर्थन करता है। समांतर किनारों को प्रदर्शित करने के लिए कोड को छेड़छाड़ की जा सकती है? चूंकि इसमें बुनियादी डेटा स्तर परिवर्तन शामिल हैं, मेरा मानना है कि यह अधिक कठिन होगा कि सामान्य अनुकूलित प्रतिपादन में परिवर्तन होता है।
2) मुझे दोनों प्रीफ्यूज और जंगल में संयुक्त ग्राफ (निर्देशित और अप्रत्यक्ष किनारों दोनों) का कोई संदर्भ नहीं मिला। क्या कोई अन्यथा जानता है?
3) यह दोनों Prefuse और जंग
4 के साथ आसान लगता है) एक बार फिर दोनों Prefuse और जंग उपयोगकर्ता बातचीत के लिए सहायता प्रदान करता है।
5) दोनों prefuse और जंगल इसका समर्थन करता है। ग्राफ़ को फिर से भरते समय प्रत्येक ढांचा कैसे करता है? मैंने एक और पोस्ट में देखा कि प्रीफ्यूज़ गतिशील अपडेट के लिए अच्छा प्रदर्शन नहीं करता है (Prefuse Toolkit: dynamically adding nodes and edges)
6) यह ग्राफ को संशोधित करने और इसे फिर से निकालने के लिए नीचे आता है। तो सवाल 5)
7) दोनों जंगल और प्रीफ्यूज़ में एकाधिक लेआउट एल्गोरिदम हैं। लेकिन जब मैंने जंगल और प्रीफ्यूज दोनों में FruchtermanReingoldLayout का उपयोग करके उसी डेटासेट को प्रदर्शित करने का प्रयास किया तो मुझे अलग-अलग डिस्प्ले मिलते हैं। कोई विचार क्यों? किसी भी तरह प्रीफ्यूज़ में लेआउट एल्गोरिदम जंगल की तुलना में बेहतर लेआउट प्रदर्शित करने लगते हैं (प्रतिपादन भी बेहतर है) मुझे लगता है कि प्रीफ्यूज में अधिकांश लेआउट एल्गोरिदम जंगल कार्यान्वयन पर आधारित हैं। प्रीफ्यूज लेआउट जैसे फोर्सडायरेक्टलायआउट/फ्रूचरमैनिंगिंगल्डलायआउट और सर्किलआउट सीधे स्टार, सर्कल, जाल टोपोलॉजीज पर नक्शा लगाते हैं।
इन आवश्यकताओं के बाहर, prefuse अभिव्यक्तियों और क्वेरी भाषा के लिए अच्छा समर्थन है लेकिन ऐसा लगता है कि यह सक्रिय रूप से जंगल के विपरीत विकसित नहीं है। किसके पास बेहतर दृश्यता है? कोई भी सुझाव जिस पर कोई उपयुक्त होगा और कमियों को कैसे दूर किया जाए?
कोई अन्य ढांचा जो मैं उपयोग कर सकता हूं?
+1: यहाँ (दोनों का निर्देशन किया और अनिर्दिष्ट किनारों) 2 के लिए समाधान, Prefuse के लिए करने के लिए अपने कार्यान्वयन है । मुझे यह तथ्य पसंद है कि आपने दो संभावित संभावनाओं का मूल्यांकन करने और अपने निष्कर्ष प्रस्तुत किए हैं। आपके प्रश्न से परे दूसरों के लिए यहां बहुत मूल्य है। यह एक नए उपयोगकर्ता के लिए सबसे अच्छा "पहला सवाल" हो सकता है जिसे मैंने यहां दो वर्षों में देखा है। अगर मैं कर सकता तो मैं इसे और अधिक दे दूंगा। – duffymo