NetworkX系列教程(5)-查看graph的信息
有时候graph建好后,我们并不清除该graph内节点的,边的信息,这就需要调用函数去查看了.
目录:
注意:如果代码出现找不库,请返回第一个教程,把库文件导入.
6.查看Graph的信息
6.1查看graph内节点,边的数量
- #生成graph
- G=nx.path_graph(8)
- nx.draw(G,with_labels=True)
- plt.axis('on')
- plt.xticks([])
- plt.yticks([])
- plt.show()
- #查看节点和边的情况
- print('number of nodes',G.number_of_nodes())
- print('number of edges',G.number_of_edges())

输出:
- number of nodes 8
- number of edges 7
6.2查看graph中的点,边
- #输出graph所有的点和边
- print('all nodes of Graph',G.nodes())
- print('all edges of Graph',G.edges())
输出:
- all nodes of Graph [0, 1, 2, 3, 4, 5, 6, 7]
- all edges of Graph [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7)]
6.3查看某些节点的度
- #查看节点2和3的度
- print('degree of some nodes',G.degree([2, 3]))
输出:
- degree of some nodes [(2, 2), (3, 2)]
6.4查看节点&边信息
- #设置一些节点信息
- G.nodes[1]['room'] = 714
- G.nodes[1]['color'] = 'b'
- #设置一些边信息
- G[1][2]['weight'] = 4.7
- G[1][2]['color'] = "blue"
- print('imformation of one nodes',G.nodes[1])
- print('imformation of all nodes',G.nodes.data())
- print('imformation of all nodes',G.edges.data()) #边不支持[x]这样的下标访问
输出:
- imformation of one nodes {'room': 714, 'color': 'b'}
- imformation of all nodes [(0, {}), (1, {'room': 714, 'color': 'b'}), (2, {}), (3, {}), (4, {}), (5, {}), (6, {}), (7, {})]
- imformation of all nodes [(0, 1, {}), (1, 2, {'weight': 4.7, 'color': 'blue'}), (2, 3, {}), (3, 4, {}), (4, 5, {}), (5, 6, {}), (6,
7, {})]
6.5遍历一个有权图
- #定义一个有权无向图
- FG = nx.Graph()
- FG.add_weighted_edges_from([(1, 2, 0.125), (1, 3, 0.75), (2, 4, 1.2), (3, 4, 0.375)])
- #遍历邻接矩阵
- for n, nbrs in FG.adj.items():
- for nbr, eattr in nbrs.items():
- wt = eattr['weight']
- #权重小于0.5的输出
- if wt < 0.5:
- print('way1-(%d, %d, %.3f)' % (n, nbr, wt))
- #遍历所有边
- for (u, v, wt) in FG.edges.data('weight'):
- #权重小于0.5的输出
- if wt < 0.5:
- print('way2-(%d, %d, %.3f)' % (u, v, wt))
输出:
- way1-(1, 2, 0.125)
- way1-(2, 1, 0.125)
- way1-(3, 4, 0.375)
- way1-(4, 3, 0.375)
- way2-(1, 2, 0.125)
NetworkX系列教程(5)-查看graph的信息的更多相关文章
- NetworkX系列教程(4)-设置graph的信息
小书匠Graph图论 要画出美观的graph,需要对graph里面的节点,边,节点的布局都要进行设置,具体可以看官方文档:Adding attributes to graphs, nodes, and ...
- NetworkX系列教程(1)-创建graph
小书匠Graph图论 研究中经常涉及到图论的相关知识,而且常常面对某些术语时,根本不知道在说什么.前不久接触了NetworkX这个graph处理工具,发现这个工具已经解决绝大部分的图论问题(也许只是我 ...
- NetworkX系列教程(8)-Drawing Graph
小书匠Graph图论 如果只是简单使用nx.draw,是无法定制出自己需要的graph,并且这样的graph内的点坐标的不定的,运行一次变一次,实际中一般是要求固定的位置,这就需要到布局的概念了.详细 ...
- NetworkX系列教程(6)-对graph进行操作
小书匠Graph图论 graph生成后,除了有查看操作,还有移除等操作,还有其他更多操作,具体可以看这里.下面将比较graph操作前后的不同. 目录: 7.对图进行操作 7.1移除某些节点和边 7.2 ...
- NetworkX系列教程(7)-对graph进行分析
小书匠Graph图论 graph构建完成后,对graph的连通等属性进行分析. 目录: 8.对图进行分析 8.1连通子图 8.2弱联通 8.3强连通 8.4子图 8.5条件过滤 注意:如果代码出现找不 ...
- NetworkX系列教程(11)-graph和其他数据格式转换
小书匠 Graph 图论 学过线性代数的都了解矩阵,在矩阵上的文章可做的很多,什么特征矩阵,单位矩阵等.grpah存储可以使用矩阵,比如graph的邻接矩阵,权重矩阵等,这节主要是在等到graph后 ...
- NetworkX系列教程(3)-手动创建graph
小书匠Graph图论 不可否认,日常中我们使用最多的还是,使用自己的数据去手动创建自己的图形,而不是使用生成器,现从给graph添加点和边入手,讲解手动创建graph. 目录: 3.给graph添加节 ...
- NetworkX系列教程(2)-graph生成器
小书匠Graph图论 本节主要讲解如何快速使用内置的方法生成graph,官方的文档在这里,里面包含了networkX的所有graph生成器,下面的内容只是我节选的内容,并将graph画出来而已. 声明 ...
- NetworkX系列教程(10)-算法之三:关键路径问题
小书匠Graph图论 重头戏部分来了,写到这里我感觉得仔细认真点了,可能在NetworkX中,实现某些算法就一句话的事,但是这个算法是做什么的,用在什么地方,原理是怎么样的,不清除,所以,我决定先把图 ...
随机推荐
- error: snap "eclipse" has "install-snap" change in progress
在Ubuntu 18.04使用snap安装eclipse软件报时错: inuxidc@linuxidc:~$ snap install --classic eclipse error: snap &q ...
- 数据库去空格 去table 去回车符号 去重
1 update bd_prod_cate c set c.cate_name = replace(c.cate_name,chr(9),'')//去掉tab符号的 2 update bd_prod_ ...
- 集合并卷积的三种求法(分治乘法,快速莫比乌斯变换(FMT),快速沃尔什变换(FWT))
也许更好的阅读体验 本文主要内容是对武汉市第二中学吕凯风同学的论文<集合幂级数的性质与应用及其快速算法>的理解 定义 集合幂级数 为了更方便的研究集合的卷积,引入集合幂级数的概念 集合幂级 ...
- Python 操作MySQL 数据库
Python 操作 MySQL 数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的 ...
- 跟我一起学docker
一.认识 1.什么是docker Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加 ...
- Yii2 redis 使用方法
/** * 基于 yii2.0 redis使用方法 *///项目根目录命令行执行 composer require --prefer-dist yiisoft/yii2-redis; //在配置文件中 ...
- jmeter中生成UUID作为唯一标识符
在测试过程中,我们有时候需要一个唯一不重复的值(比如order_id).我之前一直用的时间戳+计数器/随机函数拼接,但是有时候效果不太好,今天知道了UUID这玩意,可以来操作下.jmeter也提供了U ...
- javascript -- 把按钮变成读秒倒计时
$('#btn').click(function(){ //设置按钮倒计时 $(this).addClass('disabled'); //把按钮变灰 $(this).attr('disabled', ...
- Python中函数的知识点
1.函数的定义与调用 2.函数的参数 3.函数的返回值 1. 1.1.函数的定义: 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 1.2.定义一个函数: 规则: 函数代码块以 ...
- mysql建表常用命令
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RD ...