我写了一个循环来添加节点到puvis,我有一个字典:节点-它在数据集中出现的次数。{noda1:2,noda2:3,noda4:5}。但由于某种原因,在我的循环中,只有第一个节点被添加了3次-与字典中的键一样多。
for n in range(len(counter_nodes)):
for key, value in counter_nodes.items():
if value < 2:
net.add_node(n_id = n+1, label=key, value = 10, color = '#DA7B52')
if 2 < value < 10:
net.add_node(n_id = n+1, label=key, value = 100, color = '#D75737')
else:
net.add_node(n_id = n+1, label=key, value = 200, color = '#D75737')
也许你需要使用while?
1条答案
按热度按时间k0pti3hp1#
是的,我认为你需要使用while循环而不是for循环。原因是你的for循环是在counter_nodes字典的键上迭代,但是你为每个键向网络添加了相同的节点。这是因为n变量在循环的每次迭代中递增1。
要解决这个问题,可以使用while循环遍历counter_nodes字典,直到所有节点都添加到网络中。您可以通过在一个单独的变量中跟踪已添加到网络中的节点数量,然后在添加新节点之前检查此变量来完成此操作。