2009-06-02 10 views
38

मैंने देखा है कि आवर्ती प्रश्न यह है: "भाषा एक्स के लिए एक अच्छी नेटवर्क ग्राफ लाइब्रेरी क्या है"। मैंने पुस्तकालयों में से कुछ के साथ खेला है और मैं अपने अनुभवों को आपके साथ साझा कर सकता हूं।भाषा एक्स के लिए एक अच्छी नेटवर्क ग्राफ लाइब्रेरी क्या है?

अजगर: NetworkX एक मजबूत पुस्तकालय है जो निर्मित दृश्य है, लेकिन यह भी pyGraphviz का उपयोग कर Graphviz के लिए एक इंटरफेस है। (pyGraphviz और NetworkX एक ही लेखक द्वारा लिखे गए हैं)। नेटवर्कएक्स ओपन सोर्स और उपयोग करने में बहुत आसान है।

पर्ल: Circos जीनोम और अन्य अत्यधिक जटिल डेटासेट कल्पना करने के लिए विकसित की है। यह हमेशा एक गोलाकार लेआउट का उपयोग करेगा, लेकिन यदि आपका नेटवर्क वास्तव में बड़ा है और इसका 'मॉड्यूलरिटी' स्कोर कम है तो यह अक्सर सबसे उपयुक्त लेआउट होता है। सर्कस ओपन सोर्स है।

नेट: NodeXL माइक्रोसॉफ्ट रिसर्च द्वारा विकसित किया गया है और एक्सेल और नेट 3.5 लाइब्रेरी दोनों के लिए ऐड-ऑन है। यह बहुत खुला है (माइक्रोसॉफ्ट के मानकों के लिए) और विज़ुअलाइज़ेशन के लिए फ्रूचरमैन-रीिंगोल्ड एल्गोरिदम का उपयोग करता है।

जावा: JUNG2 हाल ही में जारी की गई है और यह भी एक मजबूत पुस्तकालय है। विस्तारित दृश्यता और कुंजी मीट्रिक समर्थन है। जंगल 2 खुला स्रोत है।

UbiGraph: UbiGraph अजगर (और NetworkX UbiGraph समर्थन हासिल है), रूबी, पीएचपी, जावा, सी, सी ++, C#, हास्केल, और OCaml सहित विभिन्न भाषाओं में इंटरफेस है। यह एक्सएमएल-आरपीसी सर्वर का उपयोग कर नेटवर्क ग्राफ के बहुत साफ 3 डी विज़ुअलाइज़ेशन है। मूल संस्करण मुफ्त है, आपको पेशेवर संस्करण के लिए भुगतान करना होगा।

स्टैंडअलोन: Graphviz (विन, लिनक्स, OSX), Pajek (जीत), UCINET (जीत), या यहाँ तक Visio (जीत): तुम हमेशा इस तरह के रूप में एक ऑफ-द-शेल्फ पैकेज का उपयोग कर सकते हैं।

मुझे यकीन है कि कई और पैकेज हैं, लेकिन ये वे हैं जिन्हें मैंने स्वयं उपयोग किया है। अन्य पुस्तकालय या पैकेज उपलब्ध हैं?

+0

SO प्रश्नों के लिए है। आप यहां एक प्रश्न नहीं बताते हैं, सिर्फ एक सूची। यदि आप इसे एक समुदाय विकी नहीं बनाते हैं तो यह निश्चित रूप से "गैर-प्रश्न" के रूप में बंद हो जाएगा – lothar

+0

सेकेंड - एक-प्रश्न –

+1

जोड़ें "क्या कोई अन्य है?" इसके अंत में ... आपका प्रश्न है। ;) – John

उत्तर

0

यदि आपको this page पर उदाहरण पसंद हैं, तो गणित की graph plotting क्षमताओं पर एक नज़र डालें। गैलरी पेज के लेखक, यफ़ान हू, वोल्फ्राम रिसर्च के लिए काम करते थे, जहां उन्होंने विशाल ग्राफ के लिए ग्राफ ड्राइंग एल्गोरिदम विकसित किए। वे एल्गोरिदम अब गणित में एकीकृत हैं। ग्राफ चित्रों का उपयोग करने का इरादा रखने के आधार पर, आप अपने ग्राफ का विश्लेषण करने के लिए गणित का उपयोग करने में सक्षम होने के द्वारा एक बड़ा लाभ प्राप्त कर सकते हैं; उदाहरण के लिए यह blog post देखें।

1

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

इस demo applet बाहर की कोशिश करो और तुम भी इसके साथ प्यार में गिर जाएगा ...

8

आप अजगर सूची graph-tool जोड़ना चाहिए। यह बहुत पूर्ण है, और इसे बूस्ट ग्राफ लाइब्रेरी के साथ सी ++ में कार्यान्वित किया गया है, जो इसे नेटवर्क एक्स जैसे पाइथन-केवल विकल्पों की तुलना में तीव्रता के आदेश बनाता है।

अस्वीकरण: मैं ग्राफ-टूल का लेखक हूं। :-)

2

क्लोजर, loom है। इसका डब्ल्यूआईपी लेकिन अच्छा लग रहा है।

2

Stanford Network Analysis Project (एसएनएपी) सी ++ में लिखा गया था और बड़े डेटा सेट का विश्लेषण करने के लिए दिमाग में प्रदर्शन के साथ डिजाइन किया गया था। परियोजना को एक पायथन पुस्तकालय के साथ बढ़ा दिया गया है, और इसमें व्यापक दस्तावेज है।

यह भी ध्यान दें कि परियोजना विभिन्न डोमेन से empirical data sets के लिए एक अच्छा संसाधन है।

0

yFiles लेआउट एल्गोरिदम का एक सूट है जो विभिन्न स्वचालित परिष्कृत लेआउट शैलियों की विस्तृत श्रृंखला प्रदान करता है। यह एक वाणिज्यिक पेशकश है और कई लोकप्रिय प्लेटफॉर्म और भाषाओं के लिए उपलब्ध है: जावास्क्रिप्ट, जावा, सी #, और अधिक।

interactive online demo that shows many of the available algorithms है और पुस्तकालयों का मूल्यांकन मुफ्त में किया जा सकता है।

अस्वीकरण: मैं उन पुस्तकालयों को बनाने वाली कंपनी के लिए काम करता हूं, हालांकि SO पर मैं अपने नियोक्ता का प्रतिनिधित्व नहीं करता हूं। यह सिफारिश मेरी राय पर आधारित है। मैंने पिछले 15 वर्षों में उपर्युक्त भाषाओं के लिए कई अलग-अलग लेआउट सूट कार्यान्वयन देखा है और मुझे इस तरह के किसी अन्य कार्यान्वयन के बारे में पता नहीं है जो पूर्ण और एक्स्टेंसिबल है।

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