溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

利用Python繪制Jazz網(wǎng)絡(luò)圖的例子

發(fā)布時(shí)間:2021-04-27 11:09:26 來源:億速云 閱讀:159 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了利用Python繪制Jazz網(wǎng)絡(luò)圖的例子,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

python有哪些常用庫

python常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。

最近在進(jìn)行社交網(wǎng)絡(luò)的學(xué)習(xí),想利用Python來進(jìn)行分析,但是網(wǎng)上關(guān)于這方面的資料好像很少,所以自己進(jìn)行了一點(diǎn)研究,算是有一點(diǎn)點(diǎn)進(jìn)步,現(xiàn)在將自己的成果發(fā)出來,希望這方面感興趣的同學(xué)也可以快速入門。話不多說,讓我們開始吧~

1:環(huán)境準(zhǔn)備

首先,就是python以及一些插件的安裝,比如我們要用到numpy(為Python提供了真正的數(shù)組功能,好多庫都依賴它,優(yōu)先安裝,安裝教程百度一下,你就知道~),matplotlib(最著名的的繪圖庫,主要用于二維繪圖,也可以進(jìn)行簡(jiǎn)單的三維繪圖),networkx(是一個(gè)用Python語言開發(fā)的圖論與復(fù)雜網(wǎng)絡(luò)建模工具,內(nèi)置了常用的圖與復(fù)雜網(wǎng)絡(luò)分析算法,可以方便的進(jìn)行復(fù)雜網(wǎng)絡(luò)數(shù)據(jù)分析、仿真建模等工作),以上就是編程的準(zhǔn)備工作。

2:獲取數(shù)據(jù)

環(huán)境準(zhǔn)備好了之后,就需要獲得數(shù)據(jù),本文中的數(shù)據(jù)是Jazz網(wǎng)絡(luò):該網(wǎng)絡(luò)為爵士音樂人合作網(wǎng)絡(luò),網(wǎng)絡(luò)中的節(jié)點(diǎn)代表音樂人,節(jié)點(diǎn)之間的鏈接代表音樂人之間的合作關(guān)系。

*Vertices  198
*Arcs
*Edges
  1  8   1
  1  24  1
  1  35  1
  1  42  1

第一行數(shù)據(jù)代表:第一個(gè)音樂人與第八個(gè)音樂人之間有一個(gè)合作關(guān)系,第三列的1為具有合作關(guān)系,以此類推。

3:開始開始編程

import networkx as nx
import matplotlib.pyplot as plt
import numpy as np
import re
 
#讀取txt文件數(shù)據(jù),有多個(gè)空格間隔
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() # 整行讀取數(shù)據(jù)
  if not lines:
   break
   pass
  lnum += 1
  #從第四行開始處理數(shù)據(jù)
  if lnum>=4:
   #對(duì)多的空格進(jìn)行處理
   temp = ' '.join(re.split(' +|\n+', lines)).strip()
   line=re.split(' ',temp.strip())
   #獲得第一個(gè)節(jié)點(diǎn)
   first_node = line[0]
   #獲得第二個(gè)節(jié)點(diǎn)
   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:運(yùn)行結(jié)果

利用Python繪制Jazz網(wǎng)絡(luò)圖的例子

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“利用Python繪制Jazz網(wǎng)絡(luò)圖的例子”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI