在Python中绘制Networkx图

时间:2017-06-22 07:18:01

标签: python matplotlib graph data-visualization networkx

我最近开始在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

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

1 个答案:

答案 0 :(得分:4)

默认情况下,弹簧布局用于绘制图形。每次绘制时都可以有新的方向。

还有其他布局可用。

enter image description here

使用例如<{1}}或nx.draw_circular将始终为您提供相同的布局。

您还可以使用字典定义节点的位置,该字典将nodenumber映射到位置。

nx.draw_spectral

enter image description here