如何用python画多层网络--pmnet
来源:互联网 发布:gentoo linux 论坛 编辑:程序博客网 时间:2024/05/17 09:32
准备知识:
<1>.安装pymnet(http://www.mkivela.com/pymnet/tutorial.html)
<2>.学会构造UCIENT数据(http://www.analytictech.com/networks/dataentry.htm)
<3>.函数使用官方教程(http://people.maths.ox.ac.uk/kivela/mln_library/autogen/pymnet.draw.html#pymnet.draw)
废话不多说,直接上自己写的例子。简单点的例子在上面给的链接里有教程,根据需求不同,我的例子是自己看了一天文档试出来的。
代码块
from pymnet import * net=read_ucinet("X.txt",couplings="none") fig =draw(net, layerColorDict={"epidemic layer ":"pink","information layer":"gray"}, layout="random", defaultNodeLabel=1, defaultNodeLabelSize=4, defaultNodeColor='red', defaultNodeLabelColor='y', nodeSizeRule={"rule":"degree","propscale":0.01}, alignedNodes=0, layergap=0.6, backend ='mpl', autoscale=1, defaultEdgeWidth=0.05, defaultEdgeColor='black', ) fig.savefig("D:\\net3.pdf")
上面是代码,能实现基本需求,如果还要更复杂的,就要自己琢磨官方文档了。
UCIENT这个没有很好的参考文档,如果你要画五层网络,你就把五层网络的邻接矩阵都输到X.txt中。注意文件头部的编写。DL是文件识别头,N是节点,NM是层数,format是你的文件格式,可以是edgelist,也可以是邻接矩阵
level labels以及下面的是五层网络各自的名字,data:下面是五个邻接矩阵
DL
N=61 NM=5
FORMAT = FULLMATRIX DIAGONAL PRESENT
LEVEL LABELS:
epidemic layer
information layer
tt
tts
yy
DATA:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX(邻接矩阵)
画的图比较粗糙,要好看还得继续调参数。但是总算是找到一个好用的工具了。希望对大家有用。。。
- 如何用python画多层网络--pmnet
- 如何用python画好confusion matrix
- 如何用python 访问url
- 如何用Python写spark
- 如何用批处理文件修改网络连接
- 如何用ping测试网络连接
- 如何用子网掩码得到网络/主机地址
- urllib2如何用代理访问网络
- 如何用VC建立映射网络驱动器?
- 网络计数器如何用图片替代数字
- 如何用线程Asynctask获取网络数据
- 如何用mingw编译python扩展
- 如何用Python写一个贪吃蛇
- cocos2dx如何用python新建项目
- 如何用pdb进行python调试
- cocos2dx如何用python新建项目
- 如何用Python抓取动态页面信息
- 如何用Python语言生成随机字符串
- 1234-4321认识android知识体系
- jquery的height()和javascript的height总结,js获取屏幕高度
- linux命令行快捷键
- final、fianlly、finalize的区别?
- Android进阶之路
- 如何用python画多层网络--pmnet
- C++进阶—>以操作系统的角度述说线程与进程
- JavaScript入门知识
- Objective-C运行时Hook函数避免Crash以及无码埋点的思路
- Sass、LESS
- Java
- 静态代码块的使用
- MyBatis配置文件记录
- 第十四天总结