使用networkx库可视化对称矩阵的网络图形
首先我的数据是.mat格式,讲讲如何用python读取.mat格式的数据(全套来)
我是python3版本
第一种读取方法:
import h5py
features_struct = h5py.File(r'C:\\Users\\Administrator\\Desktop\\xx\\MatlabProagramming\\co1p.mat')
出现了这个错误!!!最开始将.mat文件转换成.csv格式文件还好用,大家可以先试试这个方法
第二种方法:
import scipy.io
import pandas as pd
data = scipy.io.loadmat(r'C:\Users\Administrator\Desktop\xx\MatlabProagramming\co1.mat') # 读取mat文件(这个方法成功啦)(修改数据存储路径)
data1=list(data1.values())[-1]
dfdata = pd.DataFrame(data=data1)
datapath1 = 'C:\\Users\\Administrator\\Desktop\\c1.csv'#存储路径(需要修改此行代码)
dfdata.to_csv(datapath1, index=False)
第一步数据读取完毕
第二步需要了解networkx(附官网):https://networkx.org/documentation/stable/reference/introduction.html#drawing
绘图的一些函数:https://www.cnblogs.com/minglex/p/9205160.html
样式说明:https://www.cnblogs.com/gispathfinder/p/5790949.html
如果使用networkx库进行绘制网络,需要先在anaconda中pip install networkx就可以调用这个库中的函数进行绘制了
举一个例子
第二个例子:手动添加边及边的权重,可以直接调函数求点之间的最短路径长度
第三个例子:根据节点的度大小不同,显示不同深浅颜色的节点
以上代码是用python语言在pycharm或Jupyter Notebook环境下完成的,可以根据函数参数进行修改系数
总结一下networkx库绘制网络的缺点:
不能进行手动调节,函数样式较单一,如果绘制较大的网络图不方便
这是我根据我的数据绘制出的网络图,点及边较密集,不能进行手动拆分,需要手动添加点或边,痛点!!!
所以又另寻了一个较好的绘制复杂网络的工具,请参考下一篇博客内容。
最新文章
- 【BZOJ2456】mode 神奇的卡内存题
- C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)【转载】
- 4Web镇之旅:开始链接
- 关键词:ACM &; 大小端 &; 面试官
- ueditor使用中的坑
- 怎么关闭InstantRun
- RxJava开发精要4 – Observables过滤
- 【转】SecureCRT 实用配置----不错
- 百度地图V2.0实践项目开发工具类bmap.util.js V1.4
- 公司需求知识自学- Hashtable简单应用
- Java,js,多条件split字符分割
- zabbix SNMP OID列表
- WPF 窗口大小自适应
- java 有序数组合并
- 寒假训练——搜索 G - Xor-Paths
- Javaweb学习笔记——(七)——————myexlipse基本使用、jdk5.0新特性及反射讲解
- 使用JavaScript实现表现和数据分离
- android发送与接收超长短信
- scrollReveal.js页面滚动动态效果
- [转]Linux内核最新的连续内存分配器(CMA)——避免预留大块内存