一.networkx
1.用于图论和复杂网络
2.官网:http://networkx.github.io/
3.networkx常常结合numpy等数据处理相关的库一起使用,通过matplot来可视化图
二.绘制图
1.创建图
1 import networkx as nx 2 import matplotlib.pyplot as plt 3 4 G=nx.Graph()#创建空图,无向图 5 # G1=nx.DiGraph(e)#创建空图,有向图 6 # G = nx.Graph(name='my graph')#指定图的属性(name) 的值(my graph) 7 G.add_edges_from(([1,2],[2,3],[3,1])) 8 9 e = [(1, 2), (2, 3), (3, 4)] # 边的列表 10 G2 = nx.Graph(e)#根据e来创建图 11 12 F=G.to_directed()#把无向图转换为有向图 13 14 #创建多图,类MultiGraph和类MultiDiGraph允许添加相同的边两次,这两条边可能附带不同的权值 15 # H=nx.MultiGraph(e) 16 H=nx.MultiDiGraph(e) 17 18 plt.subplot(2,2,1) 19 nx.draw(G,with_labels=True) 20 plt.subplot(2,2,2) 21 nx.draw(G2,with_labels=True) 22 plt.subplot(2,2,3) 23 nx.draw(F,with_labels=True) 24 plt.subplot(2,2,4) 25 nx.draw(H,with_labels=True) 26 27 plt.show()