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语言技巧之三元运算符使用介绍
Mar 04 Python
Python中set与frozenset方法和区别详解
May 23 Python
浅谈编码,解码,乱码的问题
Dec 30 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
Jan 20 Python
Windows下python3.6.4安装教程
Jul 31 Python
Python英文文本分词(无空格)模块wordninja的使用实例
Feb 20 Python
深入了解和应用Python 装饰器 @decorator
Apr 02 Python
Django集成CAS单点登录的方法示例
Jun 10 Python
python适合人工智能的理由和优势
Jun 28 Python
django settings.py 配置文件及介绍
Jul 15 Python
Pandas对每个分组应用apply函数的实现
Dec 13 Python
Python数据分析之pandas函数详解
Apr 21 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中的常用查询语言汇总
2014/08/22 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
PHP memcache在微信公众平台的应用方法示例
2017/09/13 PHP
PHP中__set()实例用法和基础讲解
2019/07/23 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
原生js实现fadein 和 fadeout淡入淡出效果
2014/06/05 Javascript
jQuery中each()方法用法实例
2014/12/27 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
javascript history对象详解
2017/02/09 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
Node.js利用断言模块assert进行单元测试的方法
2017/09/28 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
node.js到底要不要加分号浅析
2018/07/11 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
[02:57]DOTA2英雄基础教程 风行者
2014/01/16 DOTA
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
玩转python selenium鼠标键盘操作(ActionChains)
2020/04/12 Python
Python脚本实时处理log文件的方法
2016/11/21 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
TensorFlow梯度求解tf.gradients实例
2020/02/04 Python
如何基于Python实现数字类型转换
2020/02/07 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
美丽的珠宝配饰:SmallThings
2019/09/04 全球购物
几个人围成一圈的问题
2013/09/26 面试题
顶岗实习接收函
2014/01/09 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
2014年采购员工作总结
2014/11/18 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
2015年机关作风和效能建设工作总结
2015/07/23 职场文书
用几道面试题来看JavaScript执行机制
2021/04/30 Javascript
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
2021/05/21 Redis
python数字转对应中文的方法总结
2021/08/02 Python
利用Python实现翻译HTML中的文本字符串
2022/06/21 Python