python networkx 根据图的权重画图实现


Posted in Python onJuly 10, 2019

首先输入边和边的权重,随后画出节点位置,根据权重大小划分实边和虚边

python networkx 根据图的权重画图实现

#coding:utf-8
#!/usr/bin/env python
"""
An example using Graph as a weighted network.
"""
__author__ = """Aric Hagberg (hagberg@lanl.gov)"""
try:
  import matplotlib.pyplot as plt
except:
  raise
 
import networkx as nx
 
G=nx.Graph()
#添加带权边
G.add_edge('a','b',weight=0.6)
G.add_edge('a','c',weight=0.2)
G.add_edge('c','d',weight=0.1)
G.add_edge('c','e',weight=0.7)
G.add_edge('c','f',weight=0.9)
G.add_edge('a','d',weight=0.3)
#按权重划分为重权值得边和轻权值的边
elarge=[(u,v) for (u,v,d) in G.edges(data=True) if d['weight'] >0.5]
esmall=[(u,v) for (u,v,d) in G.edges(data=True) if d['weight'] <=0.5]
#节点位置
pos=nx.spring_layout(G) # positions for all nodes
#首先画出节点位置
# nodes
nx.draw_networkx_nodes(G,pos,node_size=700)
#根据权重,实线为权值大的边,虚线为权值小的边
# edges
nx.draw_networkx_edges(G,pos,edgelist=elarge,
          width=6)
nx.draw_networkx_edges(G,pos,edgelist=esmall,
          width=6,alpha=0.5,edge_color='b',style='dashed')
 
# labels标签定义
nx.draw_networkx_labels(G,pos,font_size=20,font_family='sans-serif')
 
plt.axis('off')
plt.savefig("weighted_graph.png") # save as png
plt.show() # display

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python如何实现excel数据添加到mongodb
Jul 30 Python
详解Python命令行解析工具Argparse
Apr 20 Python
Python操作Access数据库基本步骤分析
Sep 19 Python
Python利用ElementTree模块处理XML的方法详解
Aug 31 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
Jul 07 Python
Python get获取页面cookie代码实例
Sep 12 Python
matplotlib绘制多个子图(subplot)的方法
Dec 03 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
Dec 18 Python
Python Pygame实现俄罗斯方块
Feb 19 Python
python源文件的字符编码知识点详解
Mar 04 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
Mar 04 Python
编写python程序的90条建议
Apr 14 Python
python networkx 包绘制复杂网络关系图的实现
Jul 10 #Python
python卸载后再次安装遇到的问题解决
Jul 10 #Python
Python求离散序列导数的示例
Jul 10 #Python
Python Matplotlib 基于networkx画关系网络图
Jul 10 #Python
我们为什么要减少Python中循环的使用
Jul 10 #Python
详解Python中的各种转义符\n\r\t
Jul 10 #Python
使用python画社交网络图实例代码
Jul 10 #Python
You might like
joomla内置的表单验证功能使用方法
2010/06/11 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
jQuery 一个图片切换的插件
2011/10/09 Javascript
JavaScript实现在页面间传值的方法
2015/04/07 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
jQuery的ajax和遍历数组json实例代码
2016/08/01 Javascript
轻松掌握JavaScript代理模式
2016/08/26 Javascript
js实现表单提交后不重新刷新当前页面
2016/11/30 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
2016/12/14 Javascript
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
2018/09/11 Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
2019/05/17 Javascript
Vue结合路由配置递归实现菜单栏功能
2020/06/16 Javascript
[48:31]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第一场 2月2日
2021/03/11 DOTA
python实现进程间通信简单实例
2014/07/23 Python
python查看微信好友是否删除自己
2016/12/19 Python
Python2.7 实现引入自己写的类方法
2018/04/29 Python
Python Flask 搭建微信小程序后台详解
2019/05/06 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
HTML5 Geolocation API的正确使用方法
2018/12/04 HTML / CSS
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
一份Java笔试题
2012/02/21 面试题
如何开启linux的ssh服务
2013/06/03 面试题
销售人员中英文自荐信
2013/09/22 职场文书
计算机网络毕业生自荐信
2013/10/01 职场文书
开业庆典邀请函
2014/01/08 职场文书
因个人原因离职的辞职信范文
2015/05/12 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python
vue项目支付功能代码详解
2022/02/18 Vue.js
Ruby处理YAML和json数据
2022/04/18 Ruby