利用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 相关文章推荐
wxpython学习笔记(推荐查看)
Jun 09 Python
Python的面向对象思想分析
Jan 14 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
Jul 15 Python
离线安装Pyecharts的步骤以及依赖包流程
Apr 23 Python
Python实现的NN神经网络算法完整示例
Jun 19 Python
Django项目中添加ldap登陆认证功能的实现
Apr 04 Python
python编写简单端口扫描器
Sep 04 Python
Python3标准库之threading进程中管理并发操作方法
Mar 30 Python
Java ExcutorService优雅关闭方式解析
May 30 Python
详解用Python爬虫获取百度企业信用中企业基本信息
Jul 02 Python
python如何导出微信公众号文章方法详解
Aug 31 Python
tensorflow中的梯度求解及梯度裁剪操作
May 26 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
IIS6的PHP最佳配置方法
2007/03/19 PHP
php 日期时间处理函数小结
2009/12/18 PHP
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
2012/08/14 Javascript
jQuery中unbind()方法用法实例
2015/01/19 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
chrome浏览器当表单自动填充时如何去除浏览器自动添加的默认样式
2015/10/09 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
Angular和百度地图的结合实例代码
2016/10/19 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
2018/03/20 Javascript
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
2018/09/10 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
2018/09/14 Javascript
[14:51]DOTA2 HEROS教学视频教你分分钟做大人-卓尔游侠
2014/06/13 DOTA
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
简单的编程0基础下Python入门指引
2015/04/01 Python
Python变量和数据类型详解
2017/02/15 Python
django中的HTML控件及参数传递方法
2018/03/20 Python
Python实现Mysql数据统计及numpy统计函数
2019/07/15 Python
python实现本地批量ping多个IP的方法示例
2019/08/07 Python
python 实现目录复制的三种小结
2019/12/04 Python
解决pytorch DataLoader num_workers出现的问题
2020/01/14 Python
tensorflow 查看梯度方式
2020/02/04 Python
Python selenium抓取虎牙短视频代码实例
2020/03/02 Python
Django-simple-captcha验证码包使用方法详解
2020/11/28 Python
如何利用python 读取配置文件
2021/01/06 Python
详解css3 mask遮罩实现一些特效
2018/10/24 HTML / CSS
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
学生党支部先进事迹
2014/02/04 职场文书
电子银行营销方案
2014/02/22 职场文书
项目建议书格式
2014/03/12 职场文书
签约仪式主持词
2014/03/19 职场文书
新闻编辑专业自荐信
2014/07/02 职场文书
入党培养人考察意见
2015/06/08 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python