问题描述
我想画一些节点会改变颜色的图的演变。
%matplotlib tk
import networkx as nx
import matplotlib.pyplot as plt
import numpy as np
import time
G = nx.Graph()
adj_list = {2: [2,3,4,5,6,7,10,11,12,13,14],3: [2,5: [2,8,9]}
for i,j in adj_list.items():
for k in j:
G.add_edge(i,k)
pos = nx.spring_layout(G)
val_map = {8: 'r',9:'r'}
values = [val_map.get(node,'g') for node in G.nodes()]
nx.draw(G,pos=pos,with_labels=True,node_size = 1000,node_color=values,font_size=20)
plt.draw()
这样,我所有节点都是绿色,但节点8和9都是红色。现在,我想将一些绿色节点的颜色更改为红色,然后在同一窗口上重新绘制图形。
def grafo(i):
val_map [i]='r'
values = [val_map.get(node,'g') for node in G.nodes()]
nx.draw(G,font_size=20)
plt.draw()
for i in range(5):
grafo(i+2)
time.sleep(1)
我期望看到节点2为红色的图形,然后是1秒钟,节点3为红色的图形,依此类推。相反,发生的事情是5秒钟没有任何反应,然后出现了节点2、3、4的图形,5和6红色。
很抱歉,可能出现冗长而混乱的描述...
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)