利用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通过ftplib登录到ftp服务器的方法
May 08 Python
Python正规则表达式学习指南
Aug 02 Python
python在非root权限下的安装方法
Jan 23 Python
python3如何将docx转换成pdf文件
Mar 23 Python
python+selenium打印当前页面的titl和url方法
Jun 22 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 26 Python
python实现顺时针打印矩阵
Mar 02 Python
Python如何实现动态数组
Nov 02 Python
python利用dlib获取人脸的68个landmark
Nov 27 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
Dec 19 Python
Python基础之字符串常见操作经典实例详解
Feb 26 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
Mar 03 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基础知识:类与对象(1)
2006/12/13 PHP
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
php知道与问问的采集插件代码
2010/10/12 PHP
session 加入redis的实现代码
2016/07/15 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
2017/10/19 PHP
php解决安全问题的方法实例
2019/09/19 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
setinterval()与clearInterval()JS函数的调用方法
2015/01/21 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
对Angular.js Controller如何进行单元测试
2016/10/25 Javascript
从零学习node.js之搭建http服务器(二)
2017/02/21 Javascript
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
nodejs中方法和模块用法示例
2018/12/24 NodeJs
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
Python实现的简单文件传输服务器和客户端
2015/04/08 Python
Linux CentOS7下安装python3 的方法
2018/01/21 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
澳大利亚宠物食品和药物在线:Jumbo Pets
2018/03/24 全球购物
护士思想汇报
2014/01/12 职场文书
化妆品促销方案
2014/02/24 职场文书
个性婚礼策划方案
2014/05/17 职场文书
搞笑的获奖感言
2014/08/16 职场文书
校园游戏活动新闻稿
2014/10/15 职场文书
2014年学校工作总结
2014/11/20 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
领导干部学习十八届五中全会精神心得体会
2016/01/05 职场文书