python将邻接矩阵输出成图的实现


Posted in Python onNovember 21, 2019

利用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()

python将邻接矩阵输出成图的实现

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

python将邻接矩阵输出成图的实现

3, 5节点完全图

G = nx.complete_graph(5)
nx.draw(G)
plt.savefig("8nodes.png")
plt.show()

python将邻接矩阵输出成图的实现

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

python将邻接矩阵输出成图的实现

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

将图转化为邻接矩阵,再将邻接矩阵转化为图,还有图的集合表示,邻接矩阵表示,图形表示,这三种表现形式互相转化的问题是一个值得学习的地方,继续加油!

以上这篇python将邻接矩阵输出成图的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python开发vim插件及心得分享
Nov 04 Python
Python中的包和模块实例
Nov 22 Python
讲解Python中if语句的嵌套用法
May 14 Python
python 简单的多线程链接实现代码
Aug 28 Python
Python绘制七段数码管实例代码
Dec 20 Python
怎么使用pipenv管理你的python项目
Mar 12 Python
python-opencv颜色提取分割方法
Dec 08 Python
Python列表切片操作实例总结
Feb 19 Python
django框架实现模板中获取request 的各种信息示例
Jul 01 Python
python3实现将json对象存入Redis以及数据的导入导出
Jul 16 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
Aug 17 Python
Python中Permission denied的解决方案
Apr 02 Python
python实现小世界网络生成
Nov 21 #Python
使用Python的networkx绘制精美网络图教程
Nov 21 #Python
利用Python绘制Jazz网络图的例子
Nov 21 #Python
Python TCP通信客户端服务端代码实例
Nov 21 #Python
python绘制随机网络图形示例
Nov 21 #Python
python绘制BA无标度网络示例代码
Nov 21 #Python
Python之指数与E记法的区别详解
Nov 21 #Python
You might like
php 目录与文件处理-郑阿奇(续)
2011/07/04 PHP
php文档更新介绍
2011/07/22 PHP
php安全配置 如何配置使其更安全
2011/12/16 PHP
PHP反射机制用法实例
2014/08/28 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
PHP实现查询两个数组中不同元素的方法
2016/02/23 PHP
php使用正则验证中文
2016/04/06 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
js动态创建、删除表格示例代码
2013/08/07 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
2017/05/19 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
JavaScript实现开关等效果
2017/09/08 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
记React connect的几种写法(小结)
2018/09/18 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
jquery插件开发模式实例详解
2019/07/20 jQuery
JS实现吸顶特效
2020/01/08 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
Python实现的二维码生成小软件
2014/07/11 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
Python实现针对json中某个关键字段进行排序操作示例
2018/12/25 Python
灵活运用CSS3特性绘制简易版围棋效果
2016/09/28 HTML / CSS
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
记者岗位职责
2014/01/06 职场文书
上班上网检讨书
2014/01/29 职场文书
军训自我鉴定200字
2014/02/13 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
应届大专生求职信
2014/06/26 职场文书
党委班子对照检查材料
2014/08/19 职场文书
go语言中GOPATH GOROOT的作用和设置方式
2021/05/05 Golang