关于networkx返回图的邻接矩阵问题
作者:7:45am
这篇文章主要介绍了关于networkx返回图的邻接矩阵问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
networkx返回图的邻接矩阵
最近有用到关于邻接矩阵的一些问题,平时不太常用所以一直没注意到networkx里面的函数,权当笔记了,有兴趣查看官方文档
这里只举个小例子
import networkx as nx # 导入必要的函数包 import scipy as sp import operator import matplotlib.pyplot as plp h = nx.Graph() # 我这里需要用到的图 h.add_nodes_from(list(range(1, 9))) h.add_edges_from([(1, 2), (1, 3), (1, 5), (1, 4), (2, 8), (2, 6), (3, 6), (4, 7)]) nx.draw_networkx(h) # draw plp.show() print(nx.adjacency_matrix(h).todense()) # 返回图的邻接矩阵
图长这样:
输出的邻接矩阵:
ok,一个简简单单的邻接矩阵解决完毕。
NetworkX学习笔记之邻接矩阵
邻接矩阵
As = nx.adjacency_matrix(G) print(As)
# 转化成二维数组形式的矩阵 A = As.todense() print(A)
已知图的邻接矩阵,创建图
import numpy as np A = np.array([[0, 1, 1], [1, 0, 1], [1, 1, 0]]) G = nx.from_numpy_matrix(A) nx.draw(G, node_size=800, with_labels=True)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。