networkx网络的动态特性代码演示
时间: 2023-10-06 09:09:10 浏览: 82
一个网络类示例代码
5星 · 资源好评率100%
以下是一个简单的示例,演示如何使用NetworkX库创建动态网络,并在每个时刻可视化网络的演变过程。
```python
import networkx as nx
import matplotlib.pyplot as plt
# 创建初始网络
G = nx.Graph()
G.add_nodes_from([1,2,3,4,5])
G.add_edges_from([(1,2),(2,3),(3,4),(4,5),(5,1)])
# 设置绘图参数
pos = nx.spring_layout(G)
colors = ['r','g','b','y','m']
# 绘制初始网络
plt.figure()
nx.draw(G, pos, node_color='w', with_labels=True)
plt.show()
# 模拟网络动态演变
for i in range(5):
# 添加新节点
G.add_node(i+6)
# 添加新边
G.add_edge(i+1,i+6)
# 移除随机节点
G.remove_node(i+2)
# 更新绘图参数
pos = nx.spring_layout(G)
# 绘制当前网络
plt.figure()
nx.draw(G, pos, node_color=colors, with_labels=True)
plt.show()
```
在这个示例中,我们首先创建了一个初始网络,并将其可视化。然后,我们模拟了网络动态演变的过程,每次添加新节点、添加新边和移除随机节点,同时更新绘图参数并绘制当前网络。我们可以看到,随着时间的推移,网络结构发生了变化,新节点和边不断加入,旧节点和边被移除,网络形态也随之改变。
阅读全文