Python Networkx节点大小

Python Networkx节点大小,python,networkx,Python,Networkx,我正在创建一个networkX图形,其中节点大小与节点相关。创建图形时,节点大小与传递给图形的大小列表不正确对应。有人能帮忙吗?以下是我正在使用的代码: import networkx as nx G = nx.Graph() nodelist = [] edgelist = [] sizes = [] for i in Results[0]: if i > 0.10 and i != 1: Normnodesize = (i/Maxcs)*800

我正在创建一个networkX图形,其中节点大小与节点相关。创建图形时,节点大小与传递给图形的大小列表不正确对应。有人能帮忙吗?以下是我正在使用的代码:

import networkx as nx

G = nx.Graph()
nodelist = []
edgelist = []
sizes = []
for i in Results[0]:
    if i > 0.10 and i != 1:
        Normnodesize = (i/Maxcs)*800
        Findnode = np.where(Results[0]==i)
        nodelist.append(str(Findnode[0][0]))
        edgelist.append((0,str(Findnode[0][0])))
        sizes.append(int(Normnodesize))

G.add_nodes_from(nodelist)
G.add_edges_from(edgelist)

pos = nx.fruchterman_reingold_layout(G)

nx.draw_networkx(G,pos,node_size=sizes)
如果查看节点、边、节点权重,打印输出如下所示:

   16 (0, '16') 608
   38 (0, '38') 732
   55 (0, '55') 549
   63 (0, '63') 800
   66 (0, '66') 559
  106 (0, '106') 693
  117 (0, '117') 476
  124 (0, '124') 672
  130 (0, '130') 482
  143 (0, '143') 518
列表中的节点大小和描述的节点大小不一样,我不知道为什么


谢谢大家

networkx将节点存储在dict中。当它绘制节点时,它基本上按照python给出的顺序查看键。无法保证这与您将其权重放入
大小的顺序相同

因此,请尝试:


nx.draw\u networkx(G,pos,nodelist=nodelist,node\u size=size)

你能提供一个完整的例子重现你的问题吗?谢谢Joel,这正是问题的症结所在。很高兴了解这一点信息,以用于未来的networkx图形