networkx生成網絡


ER隨機網絡,WS小世界網絡,BA無標度網絡的生成

import networkx as nx
import matplotlib.pyplot as plt


#ER隨機網絡
#10個節點,連接概率為0.6
er = nx.erdos_renyi_graph(10, 0.6)
#節點在同心圓上分布
ps = nx.shell_layout(er)
#在1*3的畫板中顯示於第一格
plt.subplot(131)
plt.title('ER')
nx.draw(er, ps, with_labels=True, node_color='r')


#WS小世界網絡
#生成10個節點,每個節點有5個鄰居,隨機化重連的概率為0.5
ws = nx.watts_strogatz_graph(10, 5, 0.5)
ps = nx.shell_layout(ws)
plt.subplot(132)
plt.title('WS')
nx.draw(ws, ps, with_labels=True, node_color='b')

#BA無標度網絡
#生成10個節點,每次加入2條邊的無標度網絡
ba = nx.barabasi_albert_graph(10, 5)
ps = nx.shell_layout(ba)
plt.subplot(133)
plt.title('BA')
nx.draw(ba, ps, with_labels=True, node_color='g')
plt.show()

 

 

graph到numpy的轉換

#以生成的BA無標度網絡為例
a = nx.to_numpy_matrix(ba)
print(a)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM