networkx成图

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")

猜你喜欢

转载自www.cnblogs.com/beixiaobei/p/9357049.html
今日推荐