1. 程式人生 > >NetworkX(1)——視覺化測試篇

NetworkX(1)——視覺化測試篇

這一系列部落格是用來總結使用NetworkX包來進行網路圖視覺化的學習過程,首先第一篇是使用NetworkX來生成隨機網路結構的視覺化展示,屬於基本操作。示例學習於餘本國老師的書。

程式碼如下:

import matplotlib.pyplot as plt
import networkx as nx
G = nx.random_geometric_graph(200,0.125)
pos = nx.get_node_attributes(G, 'pos')
dmin = 1
ncenter = 0
for n in pos:
    x, y = pos[n]
    d = (x-0.5)**2 + (y-0.5)**2
    if d < dmin:
        ncenter = n
        dmin = d
p = nx.single_source_shortest_path_length(G, ncenter)

plt.figure(figsize=(8, 8))
nx.draw_networkx_edges(G, pos, nodelist=[ncenter], alpha=0.4)
nx.draw_networkx_nodes(G, pos, nodelist=p.keys(), node_size=80)
plt.xlim(-0.05, 1.05)
plt.ylim(-0.05, 1.05)
# plt.axis('off')#這句話是用來顯示座標軸資訊的
plt.show()

視覺化結果如下圖: