數(shù)據(jù)可視化實驗報告_第1頁
數(shù)據(jù)可視化實驗報告_第2頁
數(shù)據(jù)可視化實驗報告_第3頁
數(shù)據(jù)可視化實驗報告_第4頁
數(shù)據(jù)可視化實驗報告_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、實驗七 圖分析(Gephi與Python的使用)小組成員:一、實驗?zāi)康氖煜ython圖可視化;熟悉Gephi的使用;將Gephi與Python結(jié)合實現(xiàn)可視化。二、實驗要求學(xué)生提前熟悉資料;由小組成員集體完成實驗,成員分塊寫實驗報告,代碼后寫注釋。三、實驗內(nèi)容及步驟悲慘世界人物關(guān)系圖(Python實現(xiàn))代碼import networkx as nx#用于創(chuàng)造、操作復(fù)雜網(wǎng)絡(luò),以及學(xué)習(xí)復(fù)雜網(wǎng)絡(luò)的結(jié)構(gòu)、動力學(xué)及其功能import pylabfrom pylab import rcParams#pylab模塊是一款由python提供的可以繪制二維,三維數(shù)據(jù)的工具模塊#指定此圖片的大小,和像素rcPar

2、amsfigure.figsize=12,12G=nx.read_gml(C:/Users/Administrator/Desktop/悲 慘世 界/lesmiserables.gml)#讀取gml文件,記為GG8=G.copy() #G的內(nèi)容復(fù)制給G8dn=nx.degree(G8) #得到G8內(nèi)節(jié)點(diǎn)的度#選出G8內(nèi)所有節(jié)點(diǎn)的度小于8的節(jié)點(diǎn),并刪除這些節(jié)點(diǎn)for n in list(G8.nodes():if dnn=8:G8.remove_node(n)pos=nx.spring_layout(G8) #布局指定節(jié)點(diǎn)排列形式nx.draw(G8,node_size=10,edge_colo

3、r=b,alpha=0.45,font_size=9,pos=pos)#畫圖,節(jié)點(diǎn)大小10,邊的顏色為藍(lán)色,透明度0.45,節(jié)點(diǎn)標(biāo)簽字體大小9labels=nx.draw_networkx_labels(G8,pos=pos) #繪制網(wǎng)絡(luò) G8 的邊圖 pylab.show()結(jié)果展示FdiriUiiA科幻作者關(guān)系圖(Python與Gephi與實現(xiàn))代碼import csvnodemap=() #創(chuàng)建一個空的列表#此函數(shù)功能是:找、添加節(jié)點(diǎn),并計數(shù)def addNode(name):if name in nodemap:node=nodemapnamenodecount+=1#在nodemap

4、中,假如有此節(jié)點(diǎn),此節(jié)點(diǎn)計數(shù)+1else:node=nodeid:name,count:1nodemapname=node#如果沒有該節(jié)點(diǎn),則記錄該節(jié)點(diǎn)名稱,數(shù)量記為1,添加到nodemapreturnwith open(C:/Users/Administrator/Desktop/科幻作者/SciFiWriters.txt,r) as inputfile:#打開txt文件,把它作為inputfile文件,r為只讀模式datareader=csv.reader(inputfile,delimiter=t)#從csv文件中讀取數(shù)據(jù),記錄為datareader,分隔符:橫向制表符next(data

5、reader,None)#跳過第一行數(shù)據(jù)#過每一行數(shù)據(jù),添加起點(diǎn),和目標(biāo)點(diǎn)fOr row in datareader:addNode(row0)addNode(row1)with open(node.txt,w,newline=) as nodefile:#打開文件記為nodefile文件,以w的方式,newline=為不寫入空行formatter=csv.writer(nodefile,delimiter=t)#從csv文件中寫入數(shù)據(jù),記錄為formatter,分隔符:橫向制表符formatter.writerow(Id,Count) #第一行寫為 ID Count#把nodemap內(nèi)所有節(jié)

6、點(diǎn),名稱和數(shù)量寫入formatter內(nèi)for name in nodemap:node=nodemapnameformatter.writerow(nodenodeid,nodecount,)結(jié)果展示一 - 紅樓夢人物詞云圖代碼import jieba.analysefrom os import pathfrom scipy.misc import imreadimport matplotlib as mplimport matplotlib.pyplot as pltfrom wordcloud import WordCloud, STOPWORDS, ImageColorGenerator

7、mpl.rcParamsfbnt.sans-serif = FangSong # 識別中文字體,默認(rèn)設(shè)為仿宋content = open(C:/Users/Administrator/Desktop/詞云圖 /hongloumeng.txt,rb).read()#打開紅樓夢的txt文件,以content記錄tags = jieba.analyse.extract_tags(content, topK=100, withWeight=False)#提取content中的關(guān)鍵詞,返回K個權(quán)重最大的關(guān)鍵詞,不返回權(quán)重text = .join(tags) #text 變量中存入 tags 的內(nèi)容tru

8、mp_coloring = imread(path.join(ciyun.jpg)#生成詞云wc = WordCloud(fbnt_path=simsun.ttc,background_color=white, max_words=300,mask=trump_coloring,max_font_size=40, random_state=42)#設(shè)置詞云樣式,背景色為白色,最大字?jǐn)?shù)為300,字體最大為40#其中font_path部分為設(shè)定中文字體(識別中英文),random_state為42種配色方案 wc.generate(text) #以 text 生成單詞云image_colors =

9、 ImageColorGenerator(trump_coloring)#改變字體顏色,從圖像中plt.imshow(wc) #顯示詞云圖plt.axis(off) #不顯示x軸、y軸下標(biāo)plt.show()結(jié)果展示老爺有鬟東茜?這些箱之口W乖十玄 答應(yīng)咱們舞妙什mt口曰;眾VC太太不過保們默蟲只是瞰理國賈政泮就%聽啜璉源牝四、思考1、關(guān)于圖的邏輯(存儲)表示不是能很好的呈現(xiàn)頂點(diǎn)之間的關(guān)系,而通過python讀取 gml文件,對其文件的內(nèi)容,進(jìn)行圖的描繪,可以有效的觀察到各個頂點(diǎn)之間的關(guān)系。2、python中有許多方法可以對許多東西進(jìn)行統(tǒng)計,而讀取文件,把文件中的數(shù)據(jù)進(jìn)行 清洗、處理,然后再對其數(shù)據(jù)進(jìn)行有規(guī)律的保存,也可以對保存的文件進(jìn)行不同格式之間的 轉(zhuǎn)換。拿到數(shù)據(jù)、提取數(shù)據(jù),這是數(shù)據(jù)可視化中數(shù)據(jù)的重要的環(huán)節(jié)。五、實驗總結(jié)1.收獲學(xué)習(xí)了 networkx庫的部分函數(shù),對于用圖的方式來表示關(guān)系,有了進(jìn)一步的認(rèn)識。學(xué) 習(xí)了數(shù)據(jù)讀取,并且處理數(shù)據(jù)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論