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求列表交集的方法汇总
Nov 10 Python
使用Python构建Hopfield网络的教程
Apr 14 Python
Python实现的直接插入排序算法示例
Apr 29 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
Sep 25 Python
python性能测量工具cProfile使用解析
Sep 26 Python
Django 设置多环境配置文件载入问题
Feb 25 Python
python实现银行实战系统
Feb 26 Python
python 使用事件对象asyncio.Event来同步协程的操作
May 04 Python
在keras中model.fit_generator()和model.fit()的区别说明
Jun 17 Python
用Python远程登陆服务器的步骤
Apr 16 Python
python中sqllite插入numpy数组到数据库的实现方法
Jun 21 Python
基于PyQT5制作一个桌面摸鱼工具
Feb 15 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
function.inc.php超越php
2006/12/09 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
PHP实现的简单mock json脚本分享
2015/02/10 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
PHP执行linux命令常用函数汇总
2016/02/02 PHP
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
PHP count_chars()函数讲解
2019/02/14 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
推荐20家国外的脚本下载网站
2011/04/28 Javascript
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
2014/06/09 Javascript
node.js中的fs.appendFile方法使用说明
2014/12/17 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
JS获取一个未知DIV高度的方法
2016/08/09 Javascript
Web打印解决方案之证件套打的实现思路
2016/08/29 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
ES6中的箭头函数实例详解
2017/04/06 Javascript
ReactNative短信验证码倒计时控件的实现代码
2017/07/20 Javascript
基于js中document.cookie全面解析
2017/09/14 Javascript
JS实现的简单表单验证功能示例
2017/10/13 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
Python中统计函数运行耗时的方法
2015/05/05 Python
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
TensorFlow——Checkpoint为模型添加检查点的实例
2020/01/21 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
诉讼授权委托书范本
2014/10/05 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
党员年度个人总结
2015/02/14 职场文书
销售经理工作检讨书
2015/02/19 职场文书
介绍一下28个JS常用数组方法
2022/05/06 Javascript