利用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随机生成信用卡卡号的实现方法
May 14 Python
举例讲解如何在Python编程中进行迭代和遍历
Jan 19 Python
python 时间戳与格式化时间的转化实现代码
Mar 23 Python
全面了解Python环境配置及项目建立
Jun 30 Python
django实现登录时候输入密码错误5次锁定用户十分钟
Nov 05 Python
Python判断对象是否相等及eq函数的讲解
Feb 25 Python
pytorch下使用LSTM神经网络写诗实例
Jan 14 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
Apr 10 Python
Python多分支if语句的使用
Sep 03 Python
python中K-means算法基础知识点
Jan 25 Python
python 实现的截屏工具
May 08 Python
Python中第三方库Faker的使用详解
Apr 02 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计划任务、定时执行任务的实现代码
2011/04/23 PHP
VPS中使用LNMP安装WordPress教程
2014/12/28 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
javascript innerHTML使用分析
2010/12/03 Javascript
关于hashchangebroker和statehashable的补充文档
2011/08/08 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
基于jquery实现等比缩放图片
2014/12/03 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
微信小程序 封装http请求实例详解
2017/01/16 Javascript
jquery使用EasyUI Tree异步加载JSON数据(生成树)
2017/02/11 Javascript
vue cli2.0单页面title修改方法
2018/06/07 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
JS实现简单移动端鼠标拖拽
2020/07/23 Javascript
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
python在命令行下使用google翻译(带语音)
2014/01/16 Python
Python中的装饰器用法详解
2015/01/14 Python
Python设计模式之工厂模式简单示例
2018/01/09 Python
详解flask表单提交的两种方式
2018/07/21 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
基于Tensorflow批量数据的输入实现方式
2020/02/05 Python
python 常见的反爬虫策略
2020/09/27 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
Html5元素及基本语法详解
2016/08/02 HTML / CSS
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
斐乐美国官方网站:FILA美国
2019/03/01 全球购物
Java中实现多态的机制是什么?
2014/12/07 面试题
策划助理岗位职责
2013/11/18 职场文书
报到证丢失证明
2014/01/11 职场文书
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
房产授权委托书范本
2014/09/22 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
2015年人事专员工作总结
2015/04/29 职场文书
小区物业管理2015年度工作总结
2015/10/22 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书