我在networkx中有一个要绘制的图形。我想画这样的东西:
我按照networkx文档中的说明使用以下命令进行绘制:
nx.draw(G, with_labels=True)
plt.savefig("path.png").
但是,我面临两个问题:1.节点和边缘是随机绘制的; 2.画布的大小是固定的,图形不适合其中。
感谢您对如何绘制此图的任何反馈。
答案 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")