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实现计算资源图标crc值的方法
Oct 05 Python
跟老齐学Python之私有函数和专有方法
Oct 24 Python
详解Python网络爬虫功能的基本写法
Jan 28 Python
python中文乱码不着急,先看懂字节和字符
Dec 20 Python
快速查询Python文档方法分享
Dec 27 Python
Python单元测试简单示例
Jul 03 Python
python cs架构实现简单文件传输
Mar 20 Python
Python面向对象基础入门之编码细节与注意事项
Dec 11 Python
详解用python生成随机数的几种方法
Aug 04 Python
Python开发之pip安装及使用方法详解
Feb 21 Python
Python paramiko使用方法代码汇总
Nov 20 Python
Python修改DBF文件指定列
Dec 19 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执行速度全攻略
2006/10/09 PHP
使用无限生命期Session的方法
2006/10/09 PHP
php下目前为目最全的CURL中文说明
2010/08/01 PHP
PHP中其实也可以用方法链
2011/11/10 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
使用简洁的jQuery方法实现隔行换色功能
2014/01/02 Javascript
将中国标准时间转换成标准格式的代码
2014/03/20 Javascript
jQuery中$.each使用详解
2015/01/29 Javascript
谈一谈javascript闭包
2016/01/28 Javascript
BootStrap的Datepicker控件使用心得分享
2016/05/25 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
js实现金山打字通小游戏
2020/07/24 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
python for和else语句趣谈
2019/07/02 Python
Python函数装饰器原理与用法详解
2019/08/16 Python
pycharm设置当前工作目录的操作(working directory)
2020/02/14 Python
会计专业毕业生自我评价
2013/09/25 职场文书
土建资料员岗位职责
2014/01/04 职场文书
互联网创业计划书的书写步骤
2014/01/28 职场文书
转让协议书范本
2014/09/13 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
玄武湖导游词
2015/02/05 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书
祝福语集锦:给百岁老人祝寿贺词
2019/11/19 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
python3美化表格数据输出结果的实现代码
2021/04/14 Python