这一系列博客是用来总结使用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()
可视化结果如下图: