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实现字符串与数组相互转换功能示例
Sep 22 Python
Python pymongo模块用法示例
Mar 31 Python
基于数据归一化以及Python实现方式
Jul 11 Python
详解python中eval函数的作用
Oct 22 Python
python matplotlib如何给图中的点加标签
Nov 14 Python
python函数声明和调用定义及原理详解
Dec 02 Python
Python OpenCV读取显示视频的方法示例
Feb 20 Python
python高阶函数map()和reduce()实例解析
Mar 16 Python
Python爬虫HTPP请求方法有哪些
Jun 03 Python
Python暴力破解Mysql数据的示例
Nov 09 Python
Python代码风格与编程习惯重要吗?
Jun 03 Python
使用pd.merge表连接出现多余行的问题解决
Jun 16 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
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
使用GD库生成带阴影文字的图片
2015/03/27 PHP
php实现socket推送技术的示例
2017/12/20 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
2011/10/21 Javascript
js实现拖拽 闭包函数详细介绍
2012/11/25 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
2016/12/29 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
angularjs实现上拉加载和下拉刷新数据功能
2017/06/12 Javascript
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
详解单页面路由工程使用微信分享及二次分享解决方案
2019/02/22 Javascript
Python脚本实现DNSPod DNS动态解析域名
2015/02/14 Python
Python解析nginx日志文件
2015/05/11 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
2019/06/11 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
python中利用matplotlib读取灰度图的例子
2019/12/07 Python
Python Numpy库常见用法入门教程
2020/01/16 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
Python不支持 i ++ 语法的原因解析
2020/07/22 Python
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
法国和欧洲海边和滑雪度假:Pierre & Vacances
2017/01/04 全球购物
软件缺陷的分类都有哪些
2014/08/22 面试题
教育学专业毕业生的自我评价
2013/11/21 职场文书
会计专业大学生职业生涯规划书
2014/02/11 职场文书
运动会入场词60字
2014/02/15 职场文书
后勤服务中心总经理工作职责
2014/03/03 职场文书
师恩难忘教学反思
2014/04/27 职场文书
总经理检讨书
2014/09/15 职场文书
手残删除python之后的补救方法
2021/06/26 Python
vue ref如何获取子组件属性值
2022/03/31 Vue.js
Redis高并发缓存架构性能优化
2022/05/15 Redis