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程序运行效率的6个方法
Mar 31 Python
python获取当前计算机cpu数量的方法
Apr 18 Python
浅谈Python中的闭包
Jul 08 Python
python实现微信远程控制电脑
Feb 22 Python
基于python历史天气采集的分析
Feb 14 Python
Python骚操作之动态定义函数
Mar 26 Python
Python基于scipy实现信号滤波功能
May 08 Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 Python
Django与pyecharts结合的实例代码
May 13 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
Aug 17 Python
python+flask编写一个简单的登录接口
Nov 13 Python
python机器学习Github已达8.9Kstars模型解释器LIME
Nov 23 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
一个捕获函数输出的函数
2007/02/14 PHP
真正的ZIP文件操作类(php)
2007/07/21 PHP
php array_unique之后json_encode需要注意
2011/01/02 PHP
php使用websocket示例详解
2014/03/12 PHP
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
PHP中的密码加密的解决方案总结
2016/10/26 PHP
php读取和保存base64编码的图片内容
2017/04/22 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
php curl获取到json对象并转成数组array的方法
2018/05/31 PHP
Js组件的一些写法
2010/09/10 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
js中substring和substr的详细介绍与用法
2013/08/29 Javascript
js获取时间(本周、本季度、本月..)
2013/11/22 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
微信小程序实战之运维小项目
2017/01/17 Javascript
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
2020/03/12 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
python实现目录树生成示例
2014/03/28 Python
python 调用HBase的简单实例
2016/12/18 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
CSS3 3D位移translate效果实例介绍
2016/05/03 HTML / CSS
人力资源主管岗位职责
2014/01/29 职场文书
便利店促销方案
2014/02/20 职场文书
教师党员自我评价范文
2015/03/04 职场文书
英文产品推荐信
2015/03/27 职场文书
2015年学校党支部工作总结
2015/04/01 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
css样式important规则的正确使用方式
2022/06/10 HTML / CSS