国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Python基于network模塊制作電影人物關系圖

瀏覽:2日期:2022-07-20 14:04:13

在我們生活的世界中,每一個人以及每一個事物相互之間都存在著關系,有直接關系,也有間接關系,最終會形成一個無形的大的關系網。network模塊是一個用python語言開發的圖論和復雜網絡建模工具,模塊內置了常用的圖與復雜網絡分析算法。

network模塊有四種圖:Graph、DiGraph、MultiGraph、MultiDigraph,分別為無多重邊無向圖、無多重邊有向圖、有多重邊無向圖、有多重邊有向圖。其中Graph是用點和線來刻畫離散事物集合中,每對事物間以某種方式相聯系的數學模型。

下面我們來分析《復仇者聯盟4》人物關系:

import pandas as pd#導入繪圖模塊import networkx as nximport matplotlib.pyplot as plt# 讀取文件aa =r’F:python入門python編程錦囊Code(實例源碼及使用說明)Code(實例源碼及使用說明)Code(實例源碼及使用說明)09datafl4.xls’df = pd.DataFrame(pd.read_excel(aa))#去除重復項,并轉換成列表df1=df[’label1’].drop_duplicates().values.tolist()df2=df[[’label1’,’label2’,’weight’]]#設置畫布大小plt.figure(figsize=(6, 5))#顏色數據colors = df[’color’].drop_duplicates().values.tolist()#G:圖表,一個networkx圖G = nx.Graph()# 添加邊for i in df2.index: G.add_edge(df2.label1[i], df2.label2[i], weight=df2.weight[i])# 定義兩個邊,并給邊賦予權重,其中u是起點,v是終點,d是權重edge1 = [(u, v) for (u, v, d) in G.edges(data=True) if (d[’weight’] >=1)]edge2 = [(u, v) for (u, v, d) in G.edges(data=True) if (d[’weight’] >=15)]# 圖的布局# 節點在一個圓環上均勻分布pos = nx.circular_layout(G)#用Fruchterman-Reingold算法排列節點#pos=nx.spring_layout(G)#節點隨機分布#pos=nx.spring_layout(G)# 點#node_size指定節點的尺寸大小,默認值為300#node_color指定節點的顏色,默認值為紅色#node_shape節點的形狀,默認值為圓形,用o表示nx.draw_networkx_nodes(G, pos, alpha=1, node_size=200,node_color=colors,node_shape=’o’)#nx.draw_networkx_nodes(G, pos, alpha=1, node_size=300,node_color=colors,node_shape=’p’)# 邊#pos:字典類型,節點作為鍵、位置作為值。位置是長度為2的序列#edgelist:邊緣元組的集合,只繪制指定的邊,默認值為G.edges()#width邊的寬度,默認值為1.0#alpha透明度,默認值為1.0(不透明),0為完全透明#edge_color邊的顏色,默認值為黑色#style邊的樣式,默認值為實線。nx.draw_networkx_edges(G, pos, edgelist=edge1,width=1, alpha=0.3, edge_color=’g’, style=’dashed’)nx.draw_networkx_edges(G, pos, edgelist=edge2, width=1.5, alpha=0.5, edge_color=’red’)# 標簽#font_size節點標簽字體大小,默認值為12nx.draw_networkx_labels(G, pos, font_size=9)# 生成結果plt.axis(’off’)plt.title(’《復仇者聯盟4》人物關系圖’)plt.rcParams[’font.size’] = 10plt.rcParams[’font.sans-serif’]=[’SimHei’] #解決中文亂碼plt.show()

結果:

Python基于network模塊制作電影人物關系圖

使用力引導算法Fruchterman-Reingold排列點畫圖,可以大大減少邊的交叉,只需要改兩行代碼即可:

#用Fruchterman-Reingold算法排列節點pos=nx.spring_layout(G)# 點nx.draw_networkx_nodes(G, pos, alpha=1, node_size=300,node_color=colors,node_shape=’p’)

結果:

Python基于network模塊制作電影人物關系圖

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 男女无遮掩做爰免费视频软件 | baoyu121永久免费网站 | 亚洲最大免费视频网 | 在线观看一区二区三区四区 | 美女黄色免费看 | mm在线精品视频 | 一级特级欧美aaaaa毛片 | 国产一区二区三区高清视频 | 亚洲一区二区精品推荐 | 欧美成人高清视频 | 欧美色网在线 | 精品久久久久久久久中文字幕 | 飘花国产午夜精品不卡 | 久草视频在线首页 | 日韩精品一区二区三区中文字幕 | 欧美在线一级毛片观看 | 亚洲国产一区二区在线 | 久久精品国内偷自一区 | 国产在线观a免费观看 | 久久久国产99久久国产一 | 久久综合日韩亚洲精品色 | 亚洲视频在线一区 | 91精品免费国产高清在线 | 欧美高清一级啪啪毛片 | 国产精品大全国产精品 | 久久w5ww成w人免费不卡 | 欧美在线播放成人a | 女人张开腿让男人捅视频 | 性感美女一级毛片 | 精品国产亚洲一区二区在线3d | 亚洲视频 在线观看 | 美女扒开腿让男生桶爽网站 | 神马最新午夜限制片 | 男人和女人搞黄 | 香蕉视频国产精品 | 97免费视频观看 | 欧美色老头oldvideos | 久草在线免费资源站 | 亚洲天堂国产精品 | 综合亚洲一区二区三区 | 国产伦精一区二区三区视频 |