利用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 相关文章推荐
python3简单实现微信爬虫
Apr 09 Python
归纳整理Python中的控制流语句的知识点
Apr 14 Python
python使用matplotlib绘制折线图教程
Feb 08 Python
windows下Virtualenvwrapper安装教程
Dec 13 Python
Python面向对象基础入门之设置对象属性
Dec 11 Python
Python使用matplotlib 模块scatter方法画散点图示例
Sep 27 Python
python带参数打包exe及调用方式
Dec 21 Python
Python终端输出彩色字符方法详解
Feb 11 Python
Python如何在DataFrame增加数值
Feb 14 Python
Python多线程threading join和守护线程setDeamon原理详解
Mar 18 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
Apr 15 Python
Python软件包安装的三种常见方法
Jul 07 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/01/19 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
文本链接逐个出现的js脚本
2007/12/12 Javascript
prototype 学习笔记整理
2009/07/17 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
javascript中字体浮动效果的简单实例演示
2015/11/18 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
Vue中父子组件通讯之todolist组件功能开发
2018/05/21 Javascript
深入理解vue-class-component源码阅读
2019/02/18 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
如何在postman中添加cookie信息步骤解析
2020/06/30 Javascript
vue+iview分页组件的封装
2020/11/17 Vue.js
用python + openpyxl处理excel2007文档思路以及心得
2014/07/14 Python
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
Python实现获取操作系统版本信息方法
2015/04/08 Python
python实现爬取千万淘宝商品的方法
2015/06/30 Python
利用python如何处理百万条数据(适用java新手)
2018/06/06 Python
Python3中详解fabfile的编写
2018/06/24 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
用Python制作mini翻译器的实现示例
2020/08/17 Python
印尼穆斯林时尚购物网站:Hijabenka
2016/12/10 全球购物
Nike澳大利亚官网:Nike.com (AU)
2019/06/03 全球购物
党员党性分析材料
2014/02/17 职场文书
买卖协议书范本
2014/04/21 职场文书
法制宣传教育方案
2014/05/09 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
学习与创新自我评价
2015/03/09 职场文书
2015年教师党员承诺书
2015/04/27 职场文书
2016年教师节感言
2015/12/09 职场文书
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL