Networkx 节点大小
Networkx node sizes
我正在创建一个 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 将节点存储在字典中。当它绘制它们时,它基本上按照 python 给出的顺序查看键。无法保证您将权重放入 sizes
.
的顺序相同
所以尝试:
nx.draw_networkx(G,pos,nodelist = nodelist, node_size=sizes)
我正在创建一个 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 将节点存储在字典中。当它绘制它们时,它基本上按照 python 给出的顺序查看键。无法保证您将权重放入 sizes
.
所以尝试:
nx.draw_networkx(G,pos,nodelist = nodelist, node_size=sizes)