NetworkX:绘制图形

NetworkX: Drawing Graph

我正在尝试在 Python 中使用 NetworkX 绘制图形。我正在使用以下代码:

G=nx.to_networkx_graph(adj)
pos=nx.spring_layout(G)

#G=nx.path_graph(8)
nx.draw(G,pos,labels)
plt.savefig("simple_path.png") # save as png
plt.show() # display

我得到这个输出:

但我想使用标签获得以下输出:

我可以用代码做什么?谢谢。

所以对于定位,你已经根据spring_layout设置了pospos 给出节点的位置。检查一下 - 一旦你定义了它,让 python 为你打印 pos 看看它在做什么。

这是一个替代代码:

import networkx as nx
import pylab as py
blue_edges = [('B', 'C'), ('B', 'D'), ('B', 'E'), ('E', 'F')]
red_edges = [('A', 'B'), ('A', 'C'), ('C', 'E'), ('D', 'E'), ('D', 'F')]

G=nx.Graph() #define G
G.add_edges_from(blue_edges)
G.add_edges_from(red_edges)

pos = {'A':(0,0), 'B':(1,1), 'C':(1,-1), 'D':(2,1), 'E':(2,-1), 'F':(3,0)}

nx.draw_networkx(G, pos=pos, edgelist = [], node_color = 'k')
nx.draw_networkx(G, pos=pos, nodelist = [], edgelist = blue_edges, edge_color = 'b')
nx.draw_networkx(G, pos=pos, nodelist = [], edgelist = red_edges, edge_color = 'r')

如果您不想显示 x 轴和 y 轴,请将最后一位更改为:

nx.draw(G, pos=pos, edgelist = [], node_color = 'k')
nx.draw(G, pos=pos, nodelist = [], edgelist = blue_edges, edge_color = 'b')
nx.draw(G, pos=pos, nodelist = [], edgelist = red_edges, edge_color = 'r')