python中pos_(Python)Networkx - 定义自己的pos字典?

我的代码是这样的:for x in xrange(5):

G.add_edge('sIP:\n'+mostfrequent[x][0], countermfi[x])

G.add_edge('dIP:\n'+mostfrequent[x][1], countermfi[x])

G.add_edge('sPort:\n'+mostfrequent[x][2], countermfi[x])

G.add_edge('dPort:\n'+mostfrequent[x][3], countermfi[x])

G.add_edge('Protocol:\n'+mostfrequent[x][4], countermfi[x])

G.add_edge('Packets:\n'+mostfrequent[x][5], countermfi[x])

G.add_edge('Bytes:\n'+mostfrequent[x][6], countermfi[x])

pos = nx.kamada_kawai_layout(G) # positions for all nodes

#Hyperedges

nx.draw_networkx_nodes(G, pos, nodelist=countermfi, node_size=node_size, node_color='red', node_shape='s', alpha=1)

#Nodes

nx.draw_networkx_nodes(G, pos, nodelist=flattened_list_nodes, node_size=1600, node_color='blue', alpha=0.6)

#Edges

nx.draw_networkx_edges(G, pos, edgelist=G.edges(), width=2)

#Labels

nx.draw_networkx_labels(G, pos, font_size=11, font_family='sans-serif')

plt.axis('off')

plt.show()

我输出的打印G.nodes(data = True)是:[('Bytes:\n620', {}), ('dIP:\n178.237.19.228', {}), ('sPort:\n2049', {}), ('sPort:\n60179', {}), ('sIP:\n16.37.97.29', {}), (153, {}), ('dPort:\n443', {}), ('dPort:\n80', {}), ('Packets:\n2', {}), ('Packets:\n1', {}), ('sPort:\n44492', {}), ('Bytes:\n100', {}), ('sIP:\n16.37.93.196', {}), ('dIP:\n178.237.17.97', {}), (188, {}), ('dIP:\n16.37.157.74', {}), ('sIP:\n16.37.97.222', {}), ('dIP:\n178.237.17.61', {}), ('sIP:\n16.37.97.17', {}), ('Bytes:\n46', {}), (224, {}), (227, {}), ('dPort:\n691', {}), ('dIP:\n104.131.44.62', {}), ('sPort:\n55177', {}), ('Protocol:\n6', {}), (120, {}), ('sPort:\n56326', {})]

我在使用nx.kamada_kawai_layout时遇到问题,因为我收到错误:raise nx.NetworkXError('Node %s has no position.' % e)

networkx.exception.NetworkXError: Node '16.37.97.17' has no position.

我如何解决这个问题或为40个节点中的每个节点设置自己的位置?

提前谢谢你,问候:)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值