【发布时间】:2021-01-26 02:42:10
【问题描述】:
我想使用networkx 绘制一个多重图。但是,当添加更多节点时,情节变得非常拥挤。有没有办法在节点和分区之间留出更多空间?
查看multipartite_layout 的文档,我找不到这个的参数。
当然,可以为位置创建复杂的公式,但由于multipartite_layout 的间距对于小图来说已经很好看,我是如何将其扩展到更大的图。
有没有人知道如何(有效地)做到这一点?
示例代码,生成具有三个分区的图:
import matplotlib.pyplot as plt
import networkx as nx
# build graph:
G = nx.Graph()
for i in range (0,30):
G.add_node(i,layer=0)
for i in range (30,50):
G.add_node(i,layer=1)
for j in range(0,30):
G.add_edge(i,j)
G.add_node(100,layer=2)
G.add_edge(40,100)
# plot graph
pos = nx.multipartite_layout(G, subset_key="layer",)
plt.figure(figsize=(20, 8))
nx.draw(G, pos,with_labels=False)
plt.axis("equal")
plt.show()
当前拥挤的情节:
【问题讨论】:
-
尝试删除 plt.axis('equal') - 这在类似的例子中对我有用
标签: python-3.x plot graph nodes networkx