繁体   English   中英

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

[英]How can I specify an exact output size for my networkx graph?

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

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

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

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

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)  

此外,如果你有太多的节点(让我们说几千个),可视化你的图形可能是一个问题。

您可以增加绘图的大小以及设置 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')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM