利用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 相关文章推荐
python 读取txt中每行数据,并且保存到excel中的实例
Apr 29 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
Python3实现获取图片文字里中文的方法分析
Dec 13 Python
Django之提交表单与前后端交互的方法
Jul 19 Python
3行Python代码实现图像照片抠图和换底色的方法
Oct 10 Python
matplotlib jupyter notebook 图像可视化 plt show操作
Apr 24 Python
python如何删除文件、目录
Jun 23 Python
python识别验证码的思路及解决方案
Sep 13 Python
如何在Python3中使用telnetlib模块连接网络设备
Sep 21 Python
python如何实现DES加密
Sep 21 Python
基于tensorflow权重文件的解读
May 26 Python
Python中文分词库jieba(结巴分词)详细使用介绍
Apr 07 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 PDO的一些认识小结
2015/01/23 PHP
PHP redis实现超迷你全文检索
2017/03/04 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
php如何获取Http请求
2020/04/30 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
JavaScript入门教程(5) js Screen屏幕对象
2009/01/31 Javascript
jQuery 性能优化指南(3)
2009/05/21 Javascript
超越Jquery_01_isPlainObject分析与重构
2010/10/20 Javascript
克隆javascript对象的三个方法小结
2011/01/12 Javascript
Javascript 自适应高度的Tab选项卡
2011/04/05 Javascript
javascript给span标签赋值的方法
2015/11/26 Javascript
基于JavaScript代码实现随机漂浮图片广告
2016/01/05 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
2016/04/04 Javascript
Jquery中map函数的用法
2016/06/03 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
vue实现ToDoList简单实例
2017/02/07 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
jQuery实现web页面樱花坠落的特效
2017/06/01 jQuery
JS路由跳转的简单实现代码
2017/09/21 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
NodeJS实现一个聊天室功能
2019/11/25 NodeJs
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
Python读取键盘输入的2种方法
2015/06/16 Python
利用python画出折线图
2018/07/26 Python
python统计中文字符数量的两种方法
2019/01/31 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
2019/08/05 Python
pandas数据拼接的实现示例
2020/04/16 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
美国知名日用品连锁超市:Dollar General(多来店)
2017/01/14 全球购物
Final类有什么特点
2012/04/25 面试题
介绍信的格式
2015/01/30 职场文书