利用Python绘制Jazz网络图的例子


Posted in Python onNovember 21, 2019

最近在进行社交网络的学习,想利用Python来进行分析,但是网上关于这方面的资料好像很少,所以自己进行了一点研究,算是有一点点进步,现在将自己的成果发出来,希望这方面感兴趣的同学也可以快速入门。话不多说,让我们开始吧~

1:环境准备

首先,就是python以及一些插件的安装,比如我们要用到numpy(为Python提供了真正的数组功能,好多库都依赖它,优先安装,安装教程百度一下,你就知道~),matplotlib(最著名的的绘图库,主要用于二维绘图,也可以进行简单的三维绘图),networkx(是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作),以上就是编程的准备工作。

2:获取数据

环境准备好了之后,就需要获得数据,本文中的数据是Jazz网络:该网络为爵士音乐人合作网络,网络中的节点代表音乐人,节点之间的链接代表音乐人之间的合作关系。

*Vertices  198
*Arcs
*Edges
  1  8   1
  1  24  1
  1  35  1
  1  42  1

第一行数据代表:第一个音乐人与第八个音乐人之间有一个合作关系,第三列的1为具有合作关系,以此类推。

3:开始开始编程

import networkx as nx
import matplotlib.pyplot as plt
import numpy as np
import re
 
#读取txt文件数据,有多个空格间隔
G=nx.Graph()
filename = r'D:\MyDocuments\jazz.txt'
node_list = []
lnum = 0
with open(filename, 'r') as file_to_read:
 while True:
  lines = file_to_read.readline() # 整行读取数据
  if not lines:
   break
   pass
  lnum += 1
  #从第四行开始处理数据
  if lnum>=4:
   #对多的空格进行处理
   temp = ' '.join(re.split(' +|\n+', lines)).strip()
   line=re.split(' ',temp.strip())
   #获得第一个节点
   first_node = line[0]
   #获得第二个节点
   second_node = line[1]
   node_list.append(np.append(first_node,second_node))   
  pass
for i in range(len(node_list)):
 G.add_edge(node_list[i][0],node_list[i][1])
nx.draw(G)
plt.show()#显示图形

4:运行结果

利用Python绘制Jazz网络图的例子

5:总结

以上只是简单的将Jazz网络及关系绘制出来,并没有进行深入的分析,如果有不对的地方,还希望大家批评指正。

Python 相关文章推荐
在Django的session中使用User对象的方法
Jul 23 Python
python爬取51job中hr的邮箱
May 14 Python
python获取list下标及其值的简单方法
Sep 12 Python
Python HTTP客户端自定义Cookie实现实例
Apr 28 Python
python实现括号匹配的思路详解
Aug 23 Python
Windows系统下PhantomJS的安装和基本用法
Oct 21 Python
python networkx 包绘制复杂网络关系图的实现
Jul 10 Python
基于python框架Scrapy爬取自己的博客内容过程详解
Aug 05 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
Nov 19 Python
执行Python程序时模块报错问题
Mar 26 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
Jan 27 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
Feb 27 Python
Python TCP通信客户端服务端代码实例
Nov 21 #Python
python绘制随机网络图形示例
Nov 21 #Python
python绘制BA无标度网络示例代码
Nov 21 #Python
Python之指数与E记法的区别详解
Nov 21 #Python
python构建指数平滑预测模型示例
Nov 21 #Python
python实现画出e指数函数的图像
Nov 21 #Python
如何获取Python简单for循环索引
Nov 21 #Python
You might like
PHP的FTP学习(一)
2006/10/09 PHP
PHP strtr() 函数使用说明
2008/11/21 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
ThinkPHP控制器间实现相互调用的方法
2014/10/31 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
基于javascript实现动态显示当前系统时间
2016/01/28 Javascript
JS实现上下左右对称的九九乘法表
2016/02/22 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
2016/05/05 Javascript
jstree的简单实例
2016/12/01 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
深入学习nodejs中的async模块的使用方法
2017/07/12 NodeJs
深入浅析Vue中的 computed 和 watch
2018/06/06 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
vue使用exif获取图片旋转,压缩的示例代码
2020/12/11 Vue.js
Pycharm学习教程(1) 定制外观
2017/05/02 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
Python爬虫天气预报实例详解(小白入门)
2018/01/24 Python
Python连接Mssql基础教程之Python库pymssql
2018/09/16 Python
浅谈解除装饰器作用(python3新增)
2018/10/15 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
python 实现关联规则算法Apriori的示例
2020/09/30 Python
Alpine安装Python3依赖出现的问题及解决方法
2020/12/25 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
美国大尺码女装零售商:TORRID
2016/10/01 全球购物
美国便宜的横幅和标志印刷在线:Best of Signs
2019/05/29 全球购物
企业管理培训感言
2014/01/27 职场文书
采购意向书范本
2014/03/31 职场文书
个人查摆问题自查报告
2014/10/16 职场文书
大队委员竞选演讲稿
2015/11/20 职场文书
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
python中sqllite插入numpy数组到数据库的实现方法
2021/06/21 Python