如何使用Networkx绘制线性图

时间:2018-11-01 10:53:30

标签: python networkx

我在networkx中有一个要绘制的图形。我想画这样的东西: enter image description here

我按照networkx文档中的说明使用以下命令进行绘制:

nx.draw(G, with_labels=True)
plt.savefig("path.png").

但是,我面临两个问题:1.节点和边缘是随机绘制的; 2.画布的大小是固定的,图形不适合其中。

感谢您对如何绘制此图的任何反馈。

1 个答案:

答案 0 :(得分:1)

您可以将节点位置作为字典形式传递给draw_networkx:{node:[x-coordinate,y-coordinate}。您可以使用plt.figure设置图形的大小。这是一个正方形的例子:

import networkx as nx
import matplotlib.pyplot as plt

plt.figure(figsize=(8,8))
G=nx.Graph()
G.add_edges_from([(0,1),(1,2),(2,3),(3,0)])
positions = {0:[0,0],1:[1,0],2:[1,1],3:[0,1]}
nx.draw_networkx(G,pos=positions)
plt.savefig("path.png")

enter image description here