我有一个表示网络拓扑的networkx spring布局
关键节点的颜色为红色,另一个为蓝色
到关键节点边缘的路由以虚线表示
如何在指定的时间间隔内动画化networkx边缘的绘制?
#!/usr/bin/env python
import matplotlib.pyplot as plt
import networkx as nx
import matplotlib as mpl
G=nx.Graph()
G.add_edge('a','b',weight=0.6)
G.add_edge('a','c',weight=0.2)
G.add_edge('c','d',weight=0.1)
G.add_edge('c','e',weight=0.7)
G.add_edge('c','f',weight=0.9)
G.add_edge('a','d',weight=0.3)
elarge=[(u,v) for (u,v,d) in G.edges(data=True) if d['weight'] >0.5]
esmall=[(u,v) for (u,v,d) in G.edges(data=True) if d['weight'] <=0.5]
#specify an initial position that is not random e.g. use a circular layout
pos=nx.circular_layout(G)
pos=nx.spring_layout(G,dim=2,pos=pos) # positions for all nodes
#pos=nx.spring_layout(G) # positions for all nodes
print "Graph xy positions"
print pos
# nodes
nx.draw_networkx_nodes(G,pos,node_size=700)
# edges
nx.draw_networkx_edges(G,pos,edgelist=elarge,
width=6)
nx.draw_networkx_edges(G,pos,edgelist=esmall,
width=6,alpha=0.5,edge_color='b',style='dashed')
# labels
nx.draw_networkx_labels(G,pos,font_size=20,font_family='sans-serif')
plt.xlim(-0.05,1.05)
plt.ylim(-0.05,1.05)
plt.axis('off')
最佳答案
尝试 animation
module。另请参阅这个很棒的tutorial,Matplotlib animate over an image,
关于python - 动画绘制Networkx边缘,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13223191/