1、通过dot成图
import matplotlib as mpl mpl.use('Agg') import numpy as np import matplotlib.pyplot as plt import networkx as nx from networkx.drawing.nx_agraph import write_dot G=nx.DiGraph() G.add_node(1,value=80) G.add_node(2,value=100) G.add_node(3,value=50) G.add_node(4,value=100) G.add_node(5,value=150) G.add_node(6,value=100) G.add_node(7) G.add_node(8) G.add_edges_from([(1,2),(2,3),(2,4),(1,6),(6,5)]) # nx.write_dot(G,'graph.dot') #这样老报错,改为下面 nx.nx_pydot.write_dot(G,'graph.dot')
最后通过在命令行:dot -Tpng graph.dot > graph.png
2、直接draw、savefig
import matplotlib as mpl mpl.use('Agg') import numpy as np import matplotlib.pyplot as plt import networkx as nx G=nx.DiGraph() G.add_node(1,value=80) G.add_node(2,value=100) G.add_node(3,value=50) G.add_node(4,value=100) G.add_node(5,value=150) G.add_node(6,value=100) G.add_node(7) G.add_node(8) G.add_edges_from([(1,2),(2,3),(2,4),(1,6),(6,5)]) pos=nx.circular_layout(G) #节点在一个圆环上均匀分布 nx.draw_circular(G,node_size=1000,node_color='white',node_shape='s',with_labels=True) #节点是白色方形带标签 #pos=nx.random_layout(G) #节点在同心圆上分布 #nx.draw_random(G,node_size=1000,node_color='white',node_shape='s',with_labels=True) #plt.show() plt.savefig("./graphtest.png")