Python是一種廣泛使用的編程語言,可以用來實現各種各樣的項目。其中之一,就是繪制網絡圖的應用。小世界網絡是一種特殊的網絡,具有高度集聚性和短路徑等特點,同時在物理和社交網絡中大量出現。下面我們將介紹如何使用Python繪制小世界網絡。
# 首先,我們需要導入所需的包 import networkx as nx import matplotlib.pyplot as plt import random # 接著,設定需要的參數 n = 30 # 網絡中節點數目 k = 4 # 每個節點周圍連通的節點數 p = 0.3 # 并有概率進行跨越較遠距離的連接 # 創建小世界網絡 ws = nx.watts_strogatz_graph(n, k, p) # 隨機添加權重 for (u, v) in ws.edges(): ws.edges[u, v]["weight"] = random.randint(1, 10) # 繪制網絡 pos = nx.spring_layout(ws) # 隨機分布節點的位置 nx.draw(ws, pos, with_labels=True, node_color="#C0C0C0", edge_color="#000000", font_size=10, node_size=200) labels = nx.get_edge_attributes(ws, "weight") nx.draw_networkx_edge_labels(ws, pos, edge_labels=labels, font_size=8) # 展示網絡 plt.show()
代碼運行后,我們將會獲得一個小世界網絡的可視化結果。其中,每個節點代表一個個體,而邊則代表個體之間相互關聯的聯系。這是一個非常有趣的工具,可以幫助我們更好地理解和解釋復雜的網絡現象。