igraph प्लाट ग्राफ: 9 मारे गए-अजगर, igraph

मैं नया हूँ igraph, एक ग्राफ साजिश की कोशिश कर रहा होता है ~450k कोने।

मैंने कुछ प्रयोग करने के साथ शुरुआत की:

import igraph
g = igraph.Graph([(0,1), (0,2), (2,3), (3,4), (4,2), (2,5), (5,0), (6,3), (5,6)])
igraph.plot( g, "result.pdf", layout = g.layout("kk") )
# works perfect.

फिर, मैंने अपना लोड किया ~450k-विज्ञापन ग्राफ और ग्राफ की साजिश रचने में त्रुटि हुई थी। मुझे लगा कि क्योंकि ग्राफ था बहुत बड़े। इसलिए, मैंने निम्नलिखित की तरह एक छोटे ग्राफ के साथ साजिश रचने की कोशिश की:

g = igraph.Graph( [(1, 63741), (2, 81483), (3, 91394), (4, 60469), (5, 60278), (6, 64544), (6, 73526), (8, 86588), (9, 61415)] )
igraph.plot( g, "result.pdf", layout = g.layout("kk") )
# does not work. produces:
# "Killed: 9"

हालाँकि, मुझे इस ग्राफ में भी यही समस्या थी।

चूंकि मैं एक छोटे से ग्राफ को खींचने में सक्षम हूं और एक बड़े को खींचने में सक्षम नहीं हूं, मुझे यकीन नहीं है कि क्या यह एक सिंटैक्स समस्या है या igraph बड़े ग्राफ़ को संभाल नहीं करता है?

मैं मैक ओएस एक्स पायथन 2.7.6 का उपयोग कर रहा हूं। आईग्राफ 0.7.1।

उत्तर:

जवाब के लिए 2 № 1

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