python将邻接矩阵输出成图的实现
作者:zy20150613 时间:2022-11-12 01:58:39
利用networkx,numpy,matplotlib,将邻接矩阵输出为图形。
1,自身确定一个邻接矩阵,然后通过循环的方式添加变,然后输出图像
import networkx as nx
import matplotlib.pyplot as plt
import numpy as np
G = nx.Graph()
Matrix = np.array(
[
[0, 1, 1, 1, 1, 1, 0, 0], # a
[0, 0, 1, 0, 1, 0, 0, 0], # b
[0, 0, 0, 1, 0, 0, 0, 0], # c
[0, 0, 0, 0, 1, 0, 0, 0], # d
[0, 0, 0, 0, 0, 1, 0, 0], # e
[0, 0, 1, 0, 0, 0, 1, 1], # f
[0, 0, 0, 0, 0, 1, 0, 1], # g
[0, 0, 0, 0, 0, 1, 1, 0] # h
]
)
for i in range(len(Matrix)):
for j in range(len(Matrix)):
G.add_edge(i, j)
nx.draw(G)
plt.show()
2,有向图
G = nx.DiGraph()
G.add_node(1)
G.add_node(2)
G.add_nodes_from([3, 4, 5, 6])
G.add_cycle([1, 2, 3, 4])
G.add_edge(1, 3)
G.add_edges_from([(3, 5), (3, 6), (6, 7)])
nx.draw(G)
# plt.savefig("youxiangtu.png")
plt.show()
3, 5节点完全图
G = nx.complete_graph(5)
nx.draw(G)
plt.savefig("8nodes.png")
plt.show()
4,无向图
G = nx.Graph()
G.add_node(1)
G.add_node(2)
G.add_nodes_from([3, 4, 5, 6])
G.add_cycle([1, 2, 3, 4])
G.add_edge(1, 3)
G.add_edges_from([(3, 5), (3, 6), (6, 7)])
nx.draw(G)
# plt.savefig("wuxiangtu.png")
plt.show()
5,颜色节点图
G = nx.Graph()
G.add_edges_from([(1, 2), (1, 3), (1, 4), (1, 5), (4, 5), (4, 6), (5, 6)])
pos = nx.spring_layout(G)
colors = [1, 2, 3, 4, 5, 6]
nx.draw_networkx_nodes(G, pos, node_color=colors)
nx.draw_networkx_edges(G, pos)
plt.axis('off')
# plt.savefig("color_nodes.png")
plt.show()
将图转化为邻接矩阵,再将邻接矩阵转化为图,还有图的集合表示,邻接矩阵表示,图形表示,这三种表现形式互相转化的问题是一个值得学习的地方,继续加油!
来源:https://blog.csdn.net/zy20150613/article/details/79645285
标签:python,邻接矩阵,输出
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
ASP编程入门进阶(十一):Chat聊天程序
2008-05-12 07:06:00
Python实现k-means算法
2023-07-01 22:06:53
![](https://img.aspxhome.com/file/2023/8/79588_0s.png)
Python应用实现双指数函数及拟合代码实例
2023-04-14 18:17:14
![](https://img.aspxhome.com/file/2023/0/95270_0s.png)
Spring Security使用数据库登录认证授权
2024-01-23 05:26:59
![](https://img.aspxhome.com/file/2023/3/72283_0s.png)
PHP使用观察者模式处理异常信息的方法详解
2023-10-19 15:53:30
Python迭代器和生成器定义与用法示例
2022-02-15 19:42:13
Python实现字典去除重复的方法示例
2021-02-24 21:52:14
MySQL数据库改名的详细方法教程
2024-01-18 11:46:27
简单实现python数独游戏
2023-06-21 15:24:22
[翻译]标记语言和样式手册 Chapter 13 为文字指定样式
2008-02-15 16:08:00
![](https://img.aspxhome.com/file/UploadPic/20082/15/2008215162639458s.jpg)
Python 图像处理 Pillow 库详情
2022-12-05 04:46:12
python pandas 数据排序的几种常用方法
2021-10-02 06:25:01
Python 虚拟环境的价值和常用命令详解
2022-01-04 06:02:57
python光学仿真面向对象光学元件类的实现
2022-10-11 19:45:06
js实现简单的放大镜效果
2024-04-30 08:52:03
![](https://img.aspxhome.com/file/2023/3/132653_0s.jpg)
SQL Server的FileStream和FileTable深入剖析
2023-07-17 01:17:24
![](https://img.aspxhome.com/file/UploadPic/201211/30/20121130203621460s.jpg)
如何基于Python实现数字类型转换
2023-10-08 00:57:13
MSSQL数据类型
2008-08-03 17:21:00
Python Prim算法通过遍历墙实现迷宫的生成
2022-06-26 08:41:09
python selenium实现智联招聘数据爬取
2022-08-30 00:29:02
![](https://img.aspxhome.com/file/2023/1/121101_0s.png)