利用Python繪制Jazz網(wǎng)絡(luò)圖的例子
最近在進(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)行簡單的三維繪圖),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é)果
5:總結(jié)
以上只是簡單的將Jazz網(wǎng)絡(luò)及關(guān)系繪制出來,并沒有進(jìn)行深入的分析,如果有不對(duì)的地方,還希望大家批評(píng)指正。
相關(guān)文章
TensorFlow Session會(huì)話控制&Variable變量詳解
今天小編就為大家分享一篇TensorFlow Session會(huì)話控制&Variable變量詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07Python Selenium中常用的元素定位方法總結(jié)
在Web自動(dòng)化測(cè)試中,元素定位是一項(xiàng)非常重要的技術(shù),Python Selenium提供了各種元素定位方法,可以幫助我們定位頁面上的元素并與之交互,本文將詳細(xì)介紹Python Selenium中常用的元素定位方法,并提供實(shí)例代碼,需要的朋友可以參考下2023-11-11一文教會(huì)你用nginx+uwsgi部署自己的django項(xiàng)目
uWSGI是一個(gè)Web服務(wù)器,它實(shí)現(xiàn)了WSGI協(xié)議、uwsgi、http等協(xié)議,下面這篇文章主要給大家介紹了關(guān)于用nginx+uwsgi部署自己的django項(xiàng)目的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08Python實(shí)現(xiàn)PowerPoint演示文稿到圖片的批量轉(zhuǎn)換
PowerPoint演示文稿作為展示創(chuàng)意、分享知識(shí)和表達(dá)觀點(diǎn)的重要工具,被廣泛應(yīng)用于教育、商務(wù)匯報(bào)及個(gè)人項(xiàng)目展示等領(lǐng)域,用Python代碼可以高效地實(shí)現(xiàn)PowerPoint演示文稿到圖片的批量轉(zhuǎn)換,從而提升工作效率,文本將介紹如何使用Python實(shí)現(xiàn)PowerPoint演示文稿到圖片的轉(zhuǎn)換2024-06-06python網(wǎng)絡(luò)編程學(xué)習(xí)筆記(一)
這篇文章主要介紹了python網(wǎng)絡(luò)編程基礎(chǔ)知識(shí),需要的朋友可以參考下2014-06-06Python中用于去除空格的三個(gè)函數(shù)的使用小結(jié)
這篇文章主要介紹了Python中用于去除空格的三個(gè)函數(shù)的使用小結(jié),對(duì)strip()和lstrip()和rstrip()這三個(gè)函數(shù)做了簡單的講解,需要的朋友可以參考下2015-04-04Python實(shí)現(xiàn)讀取大量Excel文件并跨文件批量計(jì)算平均值
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言,實(shí)現(xiàn)對(duì)多個(gè)不同Excel文件進(jìn)行數(shù)據(jù)讀取與平均值計(jì)算的方法,感興趣的可以了解一下2023-02-02