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模拟登陆阿里妈妈生成商品推广链接
Apr 03 Python
python实现类似ftp传输文件的网络程序示例
Apr 08 Python
介绍Python中的文档测试模块
Apr 28 Python
老生常谈Python startswith()函数与endswith函数
Sep 08 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 Python
分析python请求数据
Aug 19 Python
在Mac下使用python实现简单的目录树展示方法
Nov 01 Python
Python实现堡垒机模式下远程命令执行操作示例
May 09 Python
Python中__repr__和__str__区别详解
Nov 07 Python
Python接口测试数据库封装实现原理
May 09 Python
Django ModelForm组件原理及用法详解
Oct 12 Python
python Protobuf定义消息类型知识点讲解
Mar 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
使用数据库保存session的方法
2006/10/09 PHP
php用正则表达式匹配URL的简单方法
2013/11/12 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
php删除数组元素示例分享
2014/02/17 PHP
PHP实现上传图片到数据库并显示输出的方法
2018/05/31 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
node在两个div之间移动,用ztree实现
2013/03/06 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
2013/12/18 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
Bootstrap中表单控件状态(验证状态)
2016/08/04 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
详解vue 自定义marquee无缝滚动组件
2019/04/09 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
Python标准库os.path包、glob包使用实例
2014/11/25 Python
Android分包MultiDex策略详解
2017/10/30 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
2017/11/29 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
python使用Turtle库绘制动态钟表
2018/11/19 Python
numpy基础教程之np.linalg
2019/02/12 Python
win8.1安装Python 2.7版环境图文详解
2019/07/01 Python
python如何把字符串类型list转换成list
2020/02/18 Python
Python 从attribute到property详解
2020/03/05 Python
python实现简单遗传算法
2020/09/18 Python
python实现发送QQ邮件(可加附件)
2020/12/23 Python
Python绘制数码晶体管日期
2021/02/19 Python
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
Boom手表官网:瑞典手表品牌,设计你的手表
2019/03/11 全球购物
网络安全方面的面试题
2015/11/04 面试题
公安四风对照检查材料思想汇报
2014/10/11 职场文书
2014年医院工作总结
2014/11/20 职场文书
北京颐和园导游词
2015/01/30 职场文书
加入学生会自荐书
2015/03/05 职场文书
休假证明书
2015/06/24 职场文书