如何为networkx图指定精确的输出大小?

时间:2010-08-25 14:39:27

标签: python image networkx

http://imgur.com/7wiRw.png

以上是我当前图表的输出。但是,我还没有管理我想要实现的目标。我需要以更大的尺寸输出我的图形,以便可以轻松查看每个节点/边缘。

我尝试了nx.draw(G, node_size=size),但这只会增加节点的大小,而不是节点和边缘之间的距离。

2 个答案:

答案 0 :(得分:30)

您可以尝试较小的节点/字体或较大的画布。这是两种方法:

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()

答案 1 :(得分:9)

由于您的网络布局似乎过于“混乱”,您可能需要尝试不同的图形布局算法,并查看哪种算法最适合您。

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

此外,如果您有太多节点(比方说几千个),可视化您的图表可能会有问题。