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 相关文章推荐
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
Dec 04 Python
Python多继承原理与用法示例
Aug 23 Python
使用python批量修改文件名的方法(视频合并时)
Mar 24 Python
使用pickle存储数据dump 和 load实例讲解
Dec 30 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
python读取tif图片时保留其16bit的编码格式实例
Jan 13 Python
python 画图 图例自由定义方式
Apr 17 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 Python
Python如何将将模块分割成多个文件
Aug 04 Python
Selenium关闭INFO:CONSOLE提示的解决
Dec 07 Python
你喜欢篮球吗?Python实现篮球游戏
Jun 11 Python
Pillow图像处理库安装及使用
Apr 12 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中反射的应用
2013/06/18 PHP
如何解决PHP无法实现多线程的问题
2015/09/25 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
PHP示例演示发送邮件给某个邮箱
2019/04/03 PHP
基于laravel-admin 后台 列表标签背景的使用方法
2019/10/03 PHP
jQuery学习2 选择器的使用说明
2010/02/07 Javascript
xss文件页面内容读取(解决)
2010/11/28 Javascript
原生javascript实现图片滚动、延时加载功能
2015/01/12 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
解决vue-router中的query动态传参问题
2018/03/20 Javascript
vue中子组件向父组件传递数据的实例代码(实现加减功能)
2018/04/20 Javascript
nodejs基础之常用工具模块util用法分析
2018/12/26 NodeJs
JS动态显示倒计时效果
2019/12/12 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
[30:37]【全国守擂赛】第三周擂主赛 Dark Knight vs. Leopard Gaming
2020/05/04 DOTA
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
详解Python中用于计算指数的exp()方法
2015/05/14 Python
深入浅析Python字符编码
2015/11/12 Python
Python编程django实现同一个ip十分钟内只能注册一次
2017/11/03 Python
Python中类的初始化特殊方法
2017/12/01 Python
python PyTorch参数初始化和Finetune
2018/02/11 Python
pandas数值计算与排序方法
2018/04/12 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
2018/09/27 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
Python如何输出警告信息
2020/07/30 Python
办公室内勤工作职责
2013/12/11 职场文书
致100米运动员广播稿
2014/02/14 职场文书
机关作风建设心得体会
2014/10/22 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
五年级下册复习计划
2015/01/19 职场文书
航班延误投诉信
2015/07/02 职场文书
Python趣味实战之手把手教你实现举牌小人生成器
2021/06/07 Python