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实现比较两段文本不同之处的方法
May 30 Python
python数据结构之链表详解
Sep 12 Python
Python面向对象编程基础解析(一)
Oct 26 Python
利用numpy实现一、二维数组的拼接简单代码示例
Dec 15 Python
python负载均衡的简单实现方法
Feb 04 Python
详解TensorFlow在windows上安装与简单示例
Mar 05 Python
python2.6.6如何升级到python2.7.14
Apr 08 Python
Python实现爬取马云的微博功能示例
Feb 16 Python
Python函数式编程实例详解
Jan 17 Python
Python安装与卸载流程详细步骤(图解)
Feb 20 Python
linux mint中搜狗输入法导致pycharm卡死的问题
Oct 28 Python
pandas DataFrame.shift()函数的具体使用
May 24 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
英雄试炼之肉山谷—引领RPG新潮流
2020/04/20 DOTA
PHP 代码规范小结
2012/03/08 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
javascript之典型高阶函数应用介绍二
2013/01/10 Javascript
jQuery插件pagination实现分页特效
2015/04/12 Javascript
详解JavaScript中的forEach()方法的使用
2015/06/08 Javascript
解析javascript瀑布流原理实现图片滚动加载
2016/03/10 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
angularjs ui-router中路由的二级嵌套
2017/03/10 Javascript
CodeMirror js代码加亮使用总结
2017/03/25 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
2018/03/27 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
nodejs使用node-xlsx生成excel的方法示例
2019/08/22 NodeJs
基于layui table返回的值的多级嵌套的解决方法
2019/09/19 Javascript
微信小程序实现上传多个文件 超过10个
2020/03/30 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
JavaScript中this的学习笔记及用法整理
2020/02/17 Javascript
node中短信api实现验证码登录的示例代码
2021/01/20 Javascript
[02:46]2014DOTA2国际邀请赛 选手为你解读比赛MVP充满梦想
2014/07/09 DOTA
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
Python实现简单HTML表格解析的方法
2015/06/15 Python
python实现ping的方法
2015/07/06 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
详谈python3 numpy-loadtxt的编码问题
2018/04/29 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
python实现图片筛选程序
2018/10/24 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
Python加密模块的hashlib,hmac模块使用解析
2020/01/02 Python
酒店销售主管岗位职责
2014/01/04 职场文书
事业单位考察材料范文
2014/12/25 职场文书
2015年安全保卫工作总结
2015/05/14 职场文书
2016年法制宣传月活动总结
2016/04/01 职场文书