load_data = sio.loadmat(load_path)

     #阈值处理
mat=np.array(load_data['R'])
mat[mat<0]=0
mat[mat<0.45]=0 #写入txt文件
# np.savetxt(thr_path, mat); #计算degree
g = nx.Graph()
for i in range(len(mat)):
for j in range(len(mat)):
if(mat[i,j]>0): #删除边的权重小于等于0的边
g.add_edge(i, j,weight=mat[i,j]) # nx.draw(g)
# nx.draw(g,with_labels=True) # 将标号标出来
# plt.show() # 按权重划分为重权值得边和轻权值的边
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_color='b',node_size=300,alpha=0.4)
# 根据权重,实线为权值大的边,虚线为权值小的边
# edges
nx.draw_networkx_edges(g, pos, edgelist=elarge,
width=3)
nx.draw_networkx_edges(g, pos, edgelist=esmall,
width=1, alpha=0.5, edge_color='g', style='dashed') # labels标签定义
nx.draw_networkx_labels(g, pos, font_size=13, font_family='sans-serif') plt.axis('off')
plt.savefig("weighted_graph.png") # save as png
plt.show()

Result:

局部放大:

NetworkX-根据权重画图的更多相关文章

  1. 谁动了我的特征?——sklearn特征转换行为全记录

    目录 1 为什么要记录特征转换行为?2 有哪些特征转换的方式?3 特征转换的组合4 sklearn源码分析 4.1 一对一映射 4.2 一对多映射 4.3 多对多映射5 实践6 总结7 参考资料 1 ...

  2. python网络画图——networkX

    networkX tutorial 绘制基本网络图 用matplotlib绘制网络图 基本流程: 1. 导入networkx,matplotlib包 2. 建立网络 3. 绘制网络 nx.draw() ...

  3. python—networkx:依据图的权重绘图

    首先输入边和边的权重,随后画出节点位置.依据权重大小划分实边和虚边 #coding:utf-8 #!/usr/bin/env python """ An example ...

  4. Python3画图系列——NetworkX初探

    NetworkX 概述 NetworkX 主要用于创造.操作复杂网络,以及学习复杂网络的结构.动力学及其功能.用于分析网络结构,建立网络模型,设计新的网络算法,绘制网络等等.安装networkx看以参 ...

  5. NetworkX

    常用网站: 官方文档 Github (latest development) NetworkX官方介绍: ======== NetworkX (NX) is a Python package for ...

  6. python3 networkx

    一.networkx 1.用于图论和复杂网络 2.官网:http://networkx.github.io/ 3.networkx常常结合numpy等数据处理相关的库一起使用,通过matplot来可视 ...

  7. 网络分析之networkx(转载)

    图的类型 Graph类是无向图的基类,无向图能有自己的属性或参数,不包含重边,允许有回路,节点可以是任何hash的python对象,节点和边可以保存key/value属性对.该类的构造函数为Graph ...

  8. python复杂网络分析库NetworkX

    NetworkX是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析.仿真建模等工作.networkx支持创建简单无向图.有向图和多重 ...

  9. Python科学画图小结

    Python画图主要用到matplotlib这个库.具体来说是pylab和pyplot这两个子库.这两个库可以满足基本的画图需求,而条形图,散点图等特殊图,下面再单独具体介绍. 首先给出pylab神器 ...

随机推荐

  1. css 书写推荐顺序

    1.位置属性(position, top, right, z-index, display, float等)2.大小(width, height, padding, margin)3.文字系列(fon ...

  2. java真实面试题(1)

    2019年春杭州邦盛科技java面试题. 1,java基本类型 byte,char,short,int,long,float,double,boolean. 2,重写重载 重写,子类重写父类的方法,方 ...

  3. 路飞学城Python-Day23(practise)

    本章总结 练习题 什么是C/S架构? 互联网协议是什么?分别介绍五层协议中每一层的功能? 基于tcp协议通信,为何建立链接需要三次握手,而断开链接却需要四次挥手 为何基于tcp协议的通信比基于udp协 ...

  4. 扩展Jmeter--BeanShell进行java扩展

    1.在eclipse中写第一个java 程序,导出成jar文件,在Jmeter安装文件下新建一个dependences文件夹,将导出的.jar包文件放在文件夹下. 2.修改Jmter安装文件bin目录 ...

  5. 使用展开操符作替代 .apply() (prefer-spread)

    在ES2015以前,你必须使用Function.prototype.apply()来调用可变函数. var args = [1, 2, 3, 4]; Math.max.apply(Math, args ...

  6. Vue常用的GitHub项目

    Vue常用的GitHub项目(Demo案例) 应用实例 https://github.com/pagekit/pa... pagekit-轻量级的CMS建站系统 https://github.com/ ...

  7. shell 的变量

    一.自定义变量 1.字母或者下划线开头,由字母.数字.下划线组成,大小写敏感,在使用变量时,要在变量前加上前缀 $,一般变量由大写字母表示,并且英文开头,"=" 两边应没有空格.如 ...

  8. 什么叫openapi

    Open API即开放API,也称开放平台. 所谓的开放API(OpenAPI)是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列API(Application Programmin ...

  9. [Puppeteer] Get a Page's Load Time with Puppeteer (window.profermence.timing)

    In this lesson we are going to use Google's Puppeteer to gather metrics about a page's load time. We ...

  10. hdu 3449 Consumer (依赖01背包)

    题目: 链接:pid=3449">点击打开链接 题意: 思路: dp[i][j]表示前i个箱子装j钱的材料可以得到的最大价值. 代码: #include<iostream> ...