python - 动态绘制节点改变颜色的图形
问题描述
我想绘制一些节点改变颜色的图表的演变。
%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, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14],
5: [2, 3, 4, 5, 6, 7, 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,pos=pos, with_labels=True, node_size = 1000, node_color=values, 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个红色。
抱歉,描述冗长且可能令人困惑...
解决方案
推荐阅读
- powershell - 使用 PowerShell 的 WinSCP 正在向我上传到的 SFTP 站点添加一个目录
- java - 创建另一个线程
- eclipse - 另一个 Maven '生命周期配置未涵盖的插件执行' 错误
- django-forms - django中超出最大递归深度
- hash - Hive 使用什么散列算法进行分区?
- server-side-rendering - NUXT SSR 使用图像
- pine-script - 在价格坐标处绘制线的问题
- java - Intellij Maven 测试失败
- matlab - 具有自定义元素数量的 MATLAB 命名颜色图
- php - 如何保存信息,在关系ManytoMany中使用laravel