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

2024-03-28 19:28:17 发布

您现在位置:Python中文网/ 问答频道 /正文

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

上面是我当前图表的输出。然而,我还没有管理好我想要达到的目标。我需要输出一个更大的图形,这样每个节点/边都可以轻松查看。

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


Tags: node图形距离目标size节点图表nx
2条回答

您可以尝试较小的节点/字体或较大的画布。有一种方法可以同时做到这两点:

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

因为看起来你的网络布局太“混乱”,你可能想尝试不同的图形布局算法,看看哪个最适合你。

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

另外,如果有太多的节点(比如说几千个节点),可视化图形可能是个问题。

相关问题 更多 >