怎么用python画房子_利用Python绘制Jazz网络图的例子

最近在进行社交网络的学习,想利用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:运行结果

20191121171723.jpg

5:总结

以上只是简单的将Jazz网络及关系绘制出来,并没有进行深入的分析,如果有不对的地方,还希望大家批评指正。

本文标题: 利用Python绘制Jazz网络图的例子

本文地址: http://www.cppcns.com/jiaoben/python/287953.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值