关于networkx返回图的邻接矩阵问题

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

关于networkx返回图的邻接矩阵问题

7:45am   2022-12-16 我要评论

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)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们