1. 程式人生 > 程式設計 >python繪製無向圖度分佈曲線示例

python繪製無向圖度分佈曲線示例

如下所示:

#Copyright (c)2017,東北大學軟體學院學生
# All rightsreserved
#檔名稱:a.py
# 作  者:孔雲
#問題描述:統計圖中的每個節點的度,並生成度序列
#問題分析:利用networkx。程式碼如下:
import matplotlib.pyplot as plt #匯入科學繪圖包
import networkx as nx
G=nx.random_graphs.barabasi_albert_graph(1000,3)#生成n=1000,m=3的無標度的圖
print ("某個節點的度:",G.degree(0))#返回某個節點的度
print("所有節點的度:",G.degree())#返回所有節點的度
print("所有節點的度分佈序列:",nx.degree_histogram(G))#返回圖中所有節點的度分佈序列(從1至最大度的出現頻次)
degree=nx.degree_histogram(G)#返回圖中所有節點的度分佈序列
x=range(len(degree))#生成X軸序列,從1到最大度
y=[z/float(sum(degree))for z in degree]#將頻次轉化為頻率,利用列表內涵
plt.loglog(x,y,color="blue",linewidth=2)#在雙對座標軸上繪製度分佈曲線
plt.show()#顯示圖表

執行結果:

注:在上一篇基礎上,將度分佈曲線繪製出來了。

以上這篇python繪製無向圖度分佈曲線示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。