37

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

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

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

4

3 回答 3

82

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

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()
于 2011-12-04T23:27:32.547 回答
17

由于您的网络布局似乎太“杂乱”,您可能想尝试不同的图形布局算法,看看哪一种最适合您。

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

此外,如果您有太多节点(假设有数千个),则可视化您的图表可能是一个问题。

于 2010-09-24T15:43:52.887 回答
0

您可以增加绘图的大小以及设置 dpi。如果 dpi 降低,节点会分散得更多。

G = nx.Graph()
# Add edges
fig = plt.figure(1, figsize=(200, 80), dpi=60)
nx.draw(G, with_labels=True, font_weight='normal')
于 2021-10-29T15:42:08.497 回答