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的web.py框架并从hello world开始编程
Apr 25 Python
用Python编写生成树状结构的文件目录的脚本的教程
May 04 Python
Python的requests网络编程包使用教程
Jul 11 Python
python 实现网上商城,转账,存取款等功能的信用卡系统
Jul 15 Python
解决python文件字符串转列表时遇到空行的问题
Jul 09 Python
Python实现图片拼接的代码
Jul 02 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
Jul 11 Python
python2与python3爬虫中get与post对比解析
Sep 18 Python
PyTorch安装与基本使用详解
Aug 31 Python
Python‘==‘ 及 ‘is‘相关原理解析
Sep 05 Python
Pandas的数据过滤实现
Jan 15 Python
Python生成九宫格图片的示例代码
Apr 14 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
Thinkphp中的curd应用实用要点
2015/01/04 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
JavaScript修改css样式style
2008/04/15 Javascript
屏蔽Flash右键信息的js代码
2010/01/17 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
当鼠标移动时出现特效的JQuery代码
2013/11/08 Javascript
javascript将数字转换整数金额大写的方法
2015/01/27 Javascript
javascript实用方法总结
2015/02/06 Javascript
jquery中filter方法用法实例分析
2015/02/06 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
2015/04/20 Javascript
JavaScript实现点击自动选择TextArea文本的方法
2015/07/02 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
jQuery中设置form表单中action值的实现方法
2016/05/25 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
浅谈python为什么不需要三目运算符和switch
2016/06/17 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
2019/10/28 Python
详解Python中的分支和循环结构
2020/02/11 Python
sqlalchemy实现时间列自动更新教程
2020/09/02 Python
餐饮主管岗位职责
2013/12/10 职场文书
银行职员个人的工作自我评价
2014/02/15 职场文书
工作批评与自我批评范文
2014/10/16 职场文书
解除施工合同协议书
2014/10/17 职场文书
社区四风存在问题及整改措施
2014/10/26 职场文书
家装电话营销开场白
2015/05/29 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
JavaScript 反射学习技巧
2021/10/16 Javascript
防止web项目中的SQL注入
2021/12/06 MySQL