2013-01-11 14 views
16

के लिए नोड रिक्ति को बढ़ाने के लिए निम्न चित्र का उत्पादन लंबाई) में वृद्धि की जरूरत है। मैं इस googled और यहाँ this suggestion पाया है:कैसे</p> <pre><code>import networkx as nx .... nx.draw(G, layout=nx.spring_layout(G)) </code></pre> <p>साथ एक गुट ग्राफ आकर्षित networkx.spring_layout

लेआउट एल्गोरिदम के कुछ लोगों के लिए एक "पैमाने" पैरामीटर कि मदद कर सकता है है। जैसे

1 में: NX के रूप में आयात networkx

2 में: जी = nx.path_graph (4)

[3]: स्थिति = nx.spring_layout (G) #default पैमाने पर करने के = 1

[4] में: nx.draw (जी, स्थिति)

[5]: स्थिति = nx.spring_layout (जी, पैमाने = 2) # सभी नोड्स के बीच डबल दूरी

में [6]: nx.draw (जी, स्थिति)

हालांकि, scale पैरामीटर कोई असर दिखाई नहीं देता।

बेहतर ड्राइंग पाने का सही तरीका क्या है?

+0

नीचे दिए गए उत्तर के अलावा, मैंने यह भी पाया है कि आकृति आकार में वृद्धि में मदद मिलती है। – ericmjl

उत्तर

22

ठीक है, मेरा जवाब इस प्रश्न के लिए बहुत देर हो चुकी है। लेकिन इस समस्या का समाधान नेटवर्कएक्स संस्करण 1.8 में है जो अभी तक जारी नहीं किया गया है, लेकिन गिट हब के माध्यम से उपलब्ध है।

नोड्स के बीच की दूरी को बढ़ाने के लिए निम्न कार्य करें: यह कैसे काम करता है देखने के लिए इन मानकों के साथ

pos = nx.spring_layout(G,k=0.15,iterations=20) 
    # k controls the distance between the nodes and varies between 0 and 1 
    # iterations is the number of times simulated annealing is run 
    # default k =0.1 and iterations=50 

Tweak। लेकिन इसके बावजूद इस बात की कोई गारंटी नहीं है कि सभी नोड्स गैर-ओवरलैपिंग

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