0
を変更しないで、私は次のコードを持っている: https://pastebin.com/L4KfLhMcNetworkxアニメーション、グラフ
この最も重要な部分:
def animate(i):
ax.clear()
plt.axis('off')
edges = G.edges()
edge1, edge2 = random.sample(edges, 2)
while set(edge1) & set(edge2):
edge1, edge2 = random.sample(edges, 2)
new_edge1 = (edge1[0], edge2[1])
new_edge2 = (edge1[1], edge2[0])
if not(new_edge1 in edges or new_edge2 in edges):
G.remove_edge(*edge1)
G.remove_edge(*edge2)
G.add_edge(new_edge1[0], new_edge2[0])
G.add_edge(new_edge1[1], new_edge2[1])
#print(G.edges())
edges = nx.draw_networkx_edges(G, pos, ax=ax)
nodes = nx.draw_networkx_nodes(G, pos, node_color="#87CEEB", node_size=50, ax=ax)
return edges, nodes
を開始グラフは、接続のいずれもありませんワット-Strogatzグラフであります再接続されました。
このコードでは、matplotlib FuncAnimationを使用して、時間の経過と共に変化するグラフを作成しようとしています。これは、アニメーション機能で発生しています。だから、私は次のことを確認しました:ax.clear()がプロットを消去するたびに、エッジが再描画されます。そして、Gも残業に変更されます。しかし、グラフのGを描くときは、エッジが変更されても開始グラフと同じに見えます。