python networkx 边权重_科学网—NetworkX:关于边的权重及其画图 - 胡海华的博文
这两天因为有个想法,想用NetworkX跑一跑看看情况,但是在权重上犯了糊涂。
NetworkX添加带有权重的边很简单,只需要以三个元素的元组(a, b, w)来表示就可以了,其中ab代表节点a和b——这两个元素合在一起就代表两个节点连接的边,w则代表权重。
我想生成一个BA网络,然后对每条边随机赋予边权重。生成BA网络很简单,一个命令就搞定。但是怎么往里面加权重呢?琢磨了半天才发现可以这样做:
G=nx.Graph()
for u, v in nx.barabasi_albert_graph(10,2,seed=1).edges():
G.add_edge(u,v,weight=random.uniform(0,0.4))
解决赋权重后,怎么提取权重做计算和画图呢?NetworkX提供了一个命令get_edge_data来获取其权重,但是是以字典的形式来表示的:{'weight': 0.3232300003}
我就用了个笨方法,把这个字典中的value值提取出来再来用:
pos=nx.spring_layout(G,iterations=20)
edgewidth=[]
for (u,v,d) in G.edges(data=True):
edgewidth.append(round(G.get_edge_data(u,v).values()[0]*20,2))
#这里因为权重赋值太小,生成图的话边会很细,而且不容易分辨,所以我乘以20,如果做计算的话,这个20得去掉
接下来我用这个edgewidth作为边的宽度来画图,效果如下:
nx.draw_networkx_edges(G,pos,width=edgewidth) #奇怪的是:edgewidth应该是一个列表,为什么可以直接拿来用呢?Python怎么判断哪个边用的是哪个权重值?
nx.draw_networkx_nodes(G,pos)
plt.show()
PS:后来发现这样写代码,如果节点比较多的时候会比较慢,还是把前面的句子拆开来写
转载本文请联系原作者获取授权,同时请注明本文来自胡海华科学网博客。
链接地址:http://blog.sciencenet.cn/blog-243747-374619.html
上一篇:NetworkX实现2:超大网络数据处理变通
下一篇:“我爸是李刚”事件中的某令人心寒的细节
python networkx 边权重_科学网—NetworkX:关于边的权重及其画图 - 胡海华的博文相关推荐
- python社会网络分析教授_科学网—python 社会网络分析工具之networkx - 郗强的博文...
1.networkx 2.igraph 3.SNAP 1.networkx NetworkX是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网 ...
- python sklearn 梯度下降法_科学网—Python_机器学习_总结4:随机梯度下降算法 - 李军的博文...
=============================================================== 总结如下: 1.随机梯度下降算法可以看成是梯度下降算法的近似,但通常它能 ...
- python做社会网络分析_科学网-python 社会网络分析工具之igraph-郗强的博文
1.networkx 2.igraph 3.SNAP 2.igraph igraph是免费的复杂网络(graphs)处理包,可以处理百万级节点的网络(取决于机器内存).igraph提供了R和C语言程序 ...
- python 读grid 数据_科学网—Python_机器学习_总结14:Grid search - 李军的博文
机器学习中存在两类参数:通过训练数据学习得到的参数:---可认为是辨识得到的参数,例如模型系数: 在学习算法中单独需要优化的参数--超参.调优参数:---算法自身的系数,例如决策树的深度参数: Gri ...
- python频次统计图_科学网—Python小例:统计文本中单词出现的频次 - 康建的博文...
import re zen=''' The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better ...
- python对数运算符号_科学网—Python中算数运算符之注意及np.logspace - 张伟的博文...
(一)算数运算符 数字2 是一个整数的例子. 长整数 不过是大一些的整数. 3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4. (-5+4j ...
- python word模板 图_科学网—Python绘制可插入Word的高清矢量图(SVG转EMF) - 任晓东的博文...
Python具有强大的绘图功能.在科学论文中通常需要矢量图,而且如果能方便的插入到word中更好.Python中自带的绘图库matplotlib可以将图保存成svg格式,但是我通常喜欢使用emf的矢量 ...
- python视频网站分类_科学网—爬取网站视频简单方法之一:python的you-get模块使用方法 - 周朝宪的博文...
目的:网站有海量的视频(包括讲座.电影电视剧等),用python语言的you-get模块爬下来 1.安装you-get模块 在pycharm的terminal下安装.pip install you-g ...
- python读取tiff影像_科学网—利用python GDAL库读写geotiff格式的遥感影像方法 - 张伟的博文...
(1)利用python GDAL库读写geotiff格式的遥感影像方法,具有很好的参考价值,不错! from osgeo import gdal import numpy as np def read ...
最新文章
- python 修改字符串 循环_python – 模式匹配并用if else循环替换字符串
- 0-1背包问题(物品不可分割)
- document.createelement如何绑定点击事件_番外篇-EXCEL如何使用宏(VBA)
- springboot 自定义注解开发
- 绿幕通通扔掉 ੧ᐛ੭ | 谷歌AI实时「抠」背景
- SSMS 2005 连接 SQL SERVER 2008问题
- Android一帧一帧的动画
- R语言安装包出现的问题及解决方案
- PDF的图片怎么提取?这两种方法值得收藏
- 计算机电脑键盘英语,知识整理:计算机键盘指法练习(英语+数字)
- mysql授权用户权限能用正则的形式_mysql创建用户及受权
- 深度学习的兴起与流行原因.
- C语言入门,编写程序,输出两个整数中的较大值。
- 绘制花朵Flower
- 从两张Excel表格中筛选相同的值
- vsto画箱体图 箱线图 xlboxwhisker
- BFGS(Broyden-Fletcher-Goldfarb-Shanno)
- java怎么实现按键音_实例:使用Javascript制作声音按钮
- 电子信息工程考研专业c语言,2018电子信息工程考研方向有哪些
- 终于好了,自动生成支付宝自定义收款码