以上是我当前图表的输出结果。然而,我还没有达到自己的目标。我需要将我的图表以更大的尺寸输出,这样每个节点/边都能更轻松地查看。
我试过nx.draw(G, node_size=size)
,但那只会增加节点的大小,而不是节点和边之间的距离。
你可以尝试使用更小的节点/字体或更大的画布。以下是同时实现两者的方法:
import networkx as nx
import matplotlib.pyplot as plt
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')