這篇文章主要介紹了利用Python繪制Jazz網絡圖的例子,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
python常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。
最近在進行社交網絡的學習,想利用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網絡圖的例子”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。