利用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操作xml文件示例
Apr 07 Python
python数据结构之图的实现方法
Jul 08 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
Django查询数据库的性能优化示例代码
Sep 24 Python
python matplotlib中文显示参数设置解析
Dec 15 Python
对python numpy数组中冒号的使用方法详解
Apr 17 Python
python docx 中文字体设置的操作方法
May 08 Python
详解用Python实现自动化监控远程服务器
May 18 Python
python KNN算法实现鸢尾花数据集分类
Oct 24 Python
Python turtle画图库&&画姓名实例
Jan 19 Python
Python 制作查询商品历史价格的小工具
Oct 20 Python
python实现录制全屏和选择区域录屏功能
Feb 05 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中“简单工厂模式”实例代码讲解
2012/09/04 PHP
11个PHPer必须要了解的编程规范
2014/09/22 PHP
php+mysql查询优化简单实例
2015/01/13 PHP
JS Excel读取和写入操作(模板操作)实现代码
2010/04/11 Javascript
javascript 仿QQ滑动菜单效果代码
2010/09/03 Javascript
自定义jQuery选项卡插件实例
2013/03/27 Javascript
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
javascript通过className来获取元素的简单示例代码
2014/01/10 Javascript
js实现的map方法示例代码
2014/01/13 Javascript
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
2014/03/18 NodeJs
javascript搜索框效果实现方法
2015/05/14 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
2015/09/01 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
js实现鼠标点击页面弹出自定义文字效果
2019/12/24 Javascript
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
javascript实现倒计时效果
2020/02/17 Javascript
python实现数通设备tftp备份配置文件示例
2014/04/02 Python
python递归删除指定目录及其所有内容的方法
2017/01/13 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
python获取中文字符串长度的方法
2018/11/14 Python
Python读写文件基础知识点
2019/06/10 Python
linux环境中没有网络怎么下载python
2019/07/07 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
HTML5新特性 多线程(Worker SharedWorker)
2017/04/24 HTML / CSS
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
Nike澳大利亚官网:Nike.com (AU)
2019/06/03 全球购物
yy结婚证婚词
2014/01/10 职场文书
谢师宴答谢词
2015/01/05 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
2016幼儿园新学期寄语
2015/12/03 职场文书
MySQL新手入门进阶语句汇总
2022/09/23 MySQL