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 相关文章推荐
Python3基础之基本运算符概述
Aug 13 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
Aug 23 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 26 Python
Django 多环境配置详解
May 14 Python
Python3远程监控程序的实现方法
Jul 15 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
Aug 06 Python
PyQt使用QPropertyAnimation开发简单动画
Apr 02 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
Aug 07 Python
Python 多进程、多线程效率对比
Nov 19 Python
Python基于Opencv识别两张相似图片
Apr 25 Python
PyTorch 实现L2正则化以及Dropout的操作
May 27 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/01/12 PHP
php设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
2012/04/09 PHP
php 表单提交大量数据发生丢失的解决方法
2014/03/03 PHP
TNC vs IO BO3 第一场2.13
2021/03/10 DOTA
prototype 的说明 js类
2006/09/07 Javascript
网页实时显示服务器时间和javscript自运行时钟
2014/06/09 Javascript
Express.JS使用详解
2014/07/17 Javascript
写给小白的JavaScript引擎指南
2015/12/04 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
JSONP基础知识详解
2017/03/19 Javascript
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
Vue 项目分环境打包的方法示例
2018/08/03 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
vue下axios拦截器token刷新机制的实例代码
2020/01/17 Javascript
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
使用python编写脚本获取手机当前应用apk的信息
2014/07/21 Python
在Python中处理时间之clock()方法的使用
2015/05/22 Python
python getopt详解及简单实例
2016/12/30 Python
Python基于更相减损术实现求解最大公约数的方法
2018/04/04 Python
python和opencv实现抠图
2018/07/18 Python
浅谈python中真正关闭socket的方法
2018/12/18 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
Django之choices选项和富文本编辑器的使用详解
2020/04/01 Python
Django celery异步任务实现代码示例
2020/11/26 Python
英国团购网站:Groupon英国
2017/11/28 全球购物
纪念9.18事变演讲稿
2014/09/14 职场文书
党员干部四风问题整改措施思想汇报
2014/10/12 职场文书
2015年个人自我剖析材料
2014/12/29 职场文书