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不带重复的全排列代码
Aug 13 Python
python正则表达式抓取成语网站
Nov 20 Python
python爬虫常用的模块分析
Aug 29 Python
基于Python实现对PDF文件的OCR识别
Aug 05 Python
python+requests+unittest API接口测试实例(详解)
Jun 10 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
Jan 02 Python
python二维码操作:对QRCode和MyQR入门详解
Jun 24 Python
Django 在iframe里跳转顶层url的例子
Aug 21 Python
python导入不同目录下的自定义模块过程解析
Nov 18 Python
python取均匀不重复的随机数方式
Nov 27 Python
提高python代码运行效率的一些建议
Sep 29 Python
python pyhs2 的安装操作
Apr 07 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后台程序与Javascript的两种交互方式
2009/10/25 PHP
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
jquery 日期分离成年月日的代码
2010/05/14 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
function foo的原型与prototype属性解惑
2010/11/19 Javascript
浅谈javascript中的DOM方法
2015/07/16 Javascript
node.js下LDAP查询实例分享
2015/09/30 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
js判断空对象的实例(超简单)
2016/07/26 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
Javascript 动态改变imput type属性
2016/11/01 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
AngularJS路由实现页面跳转实例
2017/03/03 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
解决option标签selected="selected"属性失效的问题
2017/11/06 Javascript
javaScript手机号码校验工具类PhoneUtils详解
2017/12/08 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
深入理解Vue父子组件生命周期执行顺序及钩子函数
2018/08/12 Javascript
vue自定义底部导航栏Tabbar的实现代码
2018/09/03 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
ionic+html5+API实现双击返回键退出应用
2019/09/17 Javascript
vue从零实现一个消息通知组件的方法详解
2020/03/16 Javascript
jQuery实现飞机大战小游戏
2020/07/05 jQuery
python实现弹窗祝福效果
2019/04/07 Python
python判断自身是否正在运行的方法
2019/08/08 Python
通过实例解析Python RPC实现原理及方法
2020/07/07 Python
python subprocess pipe 实时输出日志的操作
2020/12/05 Python
CSS3中文字镂空、透明值、阴影效果设置示例小结
2016/03/07 HTML / CSS
索桥的故事教学反思
2014/02/06 职场文书
2015年安全教育月活动总结
2015/03/26 职场文书
2015年科研工作总结范文
2015/05/13 职场文书
简爱读书笔记
2015/06/26 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书