gpt4 book ai didi

python - 在 Python 中绘制 Networkx 图

转载 作者:行者123 更新时间:2023-11-28 22:26:34 25 4
gpt4 key购买 nike

我最近开始使用 python 中的 networkx 库来生成和可视化图表。我从一个简单的代码(由 4 个节点组成)开始,如图所示

import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_edges_from([(1 ,2) , (2 ,3) , (1 ,3) , (1 ,4) ])
nx.draw(G)
plt.show()

当我连续两次运行代码时,相同代码的输出如图所示(绘图的方向是随机的)

image 1 image 2

是否可以生成具有相同/固定方向的绘图输出?

最佳答案

默认情况下使用 spring 布局来绘制图形。每次绘制时都可以有一个新的方向。

还有其他可用的布局。

enter image description here

使用例如nx.draw_circularnx.draw_spectral 将为您提供始终相同的布局。

您还可以使用字典定义节点的位置,它将节点编号映射到一个位置。

import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_edges_from([(1 ,2) , (2 ,3) , (1 ,3) , (1 ,4) ])
pos = { 1: (20, 30), 2: (40, 30), 3: (30, 10),4: (0, 40)}

nx.draw_networkx(G, pos=pos)

plt.show()

enter image description here

关于python - 在 Python 中绘制 Networkx 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44692644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com