利用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 相关文章推荐
PHP魔术方法__ISSET、__UNSET使用实例
Nov 25 Python
Python入门_浅谈逻辑判断与运算符
May 16 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
Sep 20 Python
pip matplotlib报错equired packages can not be built解决
Jan 06 Python
mac下给python3安装requests库和scrapy库的实例
Jun 13 Python
python使用scrapy发送post请求的坑
Sep 04 Python
对Python通过pypyodbc访问Access数据库的方法详解
Oct 27 Python
Python Opencv提取图片中某种颜色组成的图形的方法
Sep 19 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
Mar 25 Python
python3实现飞机大战
Nov 29 Python
python字符串常规操作大全
May 02 Python
Python进度条的使用
May 17 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中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
PHP提取字符串中的图片地址[正则表达式]
2011/11/12 PHP
php实现快速排序的三种方法分享
2014/03/12 PHP
PHP中的use关键字概述
2014/07/23 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
2018/05/02 PHP
JQuery 网站换肤功能实现代码
2009/11/02 Javascript
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
2010/02/07 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
jQuery实现的多级下拉菜单效果代码
2015/08/24 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
2016/01/15 Javascript
jquery 属性选择器(匹配具有指定属性的元素)
2016/09/06 Javascript
jquery popupDialog 使用 加载jsp页面的方法
2016/10/25 Javascript
javascript实现动态显示颜色块的报表效果
2017/04/10 Javascript
JavaScript纯色二维码变成彩色二维码
2020/07/23 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
Python yield使用方法示例
2013/12/04 Python
简洁的十分钟Python入门教程
2015/04/03 Python
利用Python自动监控网站并发送邮件告警的方法
2016/08/24 Python
python实现随机调用一个浏览器打开网页
2018/04/21 Python
Python异常处理操作实例详解
2018/08/28 Python
Python_查看sqlite3表结构,查询语句的示例代码
2019/07/17 Python
python读取指定字节长度的文本方法
2019/08/27 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
Notino希腊:购买香水和美容产品
2019/07/25 全球购物
环境科学毕业生自荐信
2013/11/21 职场文书
毕业生自荐信格式
2014/03/07 职场文书
房屋买卖协议书范本
2014/04/10 职场文书
聘用意向书
2014/07/29 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
python如何在word中存储本地图片
2021/04/07 Python
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android