2010-08-25 11 views
10

http://imgur.com/7wiRw.pngमैं अपने नेटवर्क x ग्राफ़ के लिए सटीक आउटपुट आकार कैसे निर्दिष्ट कर सकता हूं?

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

मैंने nx.draw(G, node_size=size) की कोशिश की है, लेकिन यह केवल नोड्स के आकार को बढ़ाता है, नोड्स और किनारों के बीच की दूरी नहीं।

उत्तर

4

चूंकि ऐसा लगता है कि आपका नेटवर्क लेआउट भी 'गन्दा' है, तो आप विभिन्न ग्राफ लेआउट एल्गोरिदम का प्रयास करना चाहेंगे और देखें कि कौन सा सबसे अच्छा है।

>>> nx.draw(G) 
>>> nx.draw_random(G) 
>>> nx.draw_circular(G) 
>>> nx.draw_spectral(G) 
>>> nx.draw_spring(G) 

इसके अलावा, अगर आप बहुत अधिक नोड्स है अपने ग्राफ visualizing एक समस्या हो सकती (चलो कुछ हजारों मान लीजिए)।

18

आप या तो छोटे नोड्स/फोंट या बड़े कैनवास का प्रयास कर सकते हैं। यहां दोनों को करने का एक तरीका है:

import matplotlib.pyplot as plt 
import networkx as nx 
G = nx.cycle_graph(80) 
pos = nx.circular_layout(G) 
# default 
plt.figure(1) 
nx.draw(G,pos) 
# smaller nodes and fonts 
plt.figure(2) 
nx.draw(G,pos,node_size=60,font_size=8) 
# larger figure size 
plt.figure(3,figsize=(12,12)) 
nx.draw(G,pos) 
plt.show() 
संबंधित मुद्दे