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的random模块吗?
Dec 12 Python
Python利用turtle库绘制彩虹代码示例
Dec 20 Python
python实现基于SVM手写数字识别功能
May 27 Python
利用python如何处理nc数据详解
May 23 Python
Python实现base64编码的图片保存到本地功能示例
Jun 22 Python
pandas 读取各种格式文件的方法
Jun 22 Python
python使用epoll实现服务端的方法
Oct 16 Python
Django异步任务线程池实现原理
Dec 17 Python
python字符串,元组,列表,字典互转代码实例详解
Feb 14 Python
Python IDLE或shell中切换路径的操作
Mar 09 Python
Python3标准库之threading进程中管理并发操作方法
Mar 30 Python
python小技巧——将变量保存在本地及读取
Nov 13 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 显示指定路径下的图片
2009/10/29 PHP
深入探讨PHP中的内存管理问题
2011/08/31 PHP
ThinkPHP连接数据库及主从数据库的设置教程
2014/08/22 PHP
php简单中奖算法(实例)
2017/08/15 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
使用jQuery时Form表单元素ID和name命名大忌
2014/03/06 Javascript
Android中的jQuery:AQuery简介
2014/05/06 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
2015/08/22 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
2016/04/18 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
vue-property-decorator用法详解
2019/12/12 Javascript
Vue使用CDN引用项目组件,减少项目体积的步骤
2020/10/30 Javascript
python实现socket客户端和服务端简单示例
2014/02/24 Python
python socket网络编程之粘包问题详解
2018/04/28 Python
python对象转字典的两种实现方式示例
2019/11/07 Python
Python 列表推导式需要注意的地方
2020/10/23 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
欧舒丹俄罗斯官方网站:L’OCCITANE俄罗斯
2019/11/22 全球购物
Vrbo英国:预订度假屋
2020/08/19 全球购物
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
实习生单位鉴定意见
2013/12/04 职场文书
个人求职信范文分享
2014/01/06 职场文书
2014年建筑工程工作总结
2014/12/03 职场文书
2014年图书馆个人工作总结
2014/12/18 职场文书
语文教师个人工作总结
2015/02/06 职场文书
小学班主任工作随笔
2015/08/15 职场文书
教师岗位说明书
2015/09/30 职场文书
在python中实现导入一个需要传参的模块
2021/05/12 Python