(Python)Networkx-如何为具有pos变量的节点设置自己的位置

时间:2018-10-29 18:58:42

标签: python set position nodes networkx

我的打印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', {})]

我如何用pos变量手动设置节点的位置(坐标)?

先谢谢您

问候:)

1 个答案:

答案 0 :(得分:1)

我认为您提出的问题并不能真正解决您所遇到的问题,但这仍然是一个相当普遍的问题,因此值得解释。

pos只是一个字典,其键是图形的节点,其值是节点的2维位置。

这是您的操作方式。

import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_edge(0,1)
G.add_node(2)
pos = {}
pos[0] = (0,0)
pos[1] = (1,0)
pos[2] = (0.5, 1)
nx.draw_networkx(G, pos)
plt.show()

enter image description here