时序动态网络可视化python案例
时间: 2023-07-07 15:30:43 浏览: 44
下面是一个时序动态网络可视化的 Python案例,使用了 NetworkX 和 Matplotlib 库:
```python
import networkx as nx
import matplotlib.pyplot as plt
# 创建一个空的有向图
G = nx.DiGraph()
# 添加节点
G.add_node(1)
G.add_node(2)
G.add_node(3)
# 添加边
G.add_edge(1, 2)
G.add_edge(2, 3)
G.add_edge(3, 1)
# 设置节点位置
pos = {1: (0, 0), 2: (1, 1), 3: (2, 0)}
# 绘制初始状态的网络图
nx.draw(G, pos, with_labels=True)
plt.show()
# 定义时序数据
time_data = {1: [(1, 2)], 2: [(2, 3)], 3: [(3, 1)]}
# 按时间顺序更新网络
for t in sorted(time_data.keys()):
# 更新边
for (u, v) in time_data[t]:
G.add_edge(u, v)
# 绘制当前状态的网络图
nx.draw(G, pos, with_labels=True)
plt.title('Time Step: {}'.format(t))
plt.show()
```
这段代码创建了一个有向图,然后定义了时序数据,按时间顺序更新网络,并通过 Matplotlib 库绘制出现有的网络图和每个时间步的网络图。