在公共节点列表中找到边缘是否有更好的功能?

时间:2013-04-25 20:02:00

标签: python numpy matplotlib scipy networkx

我有一个节点列表,每个节点都测量了其他点的wifi场强。列表将采用以下形式:

 RSSI_list = [[node4, node3, RSSI], [node7, node5, RSSI]] #etc (it will be more populated)

可以认为RSSI等于估计的距离,因为它将被我记录的一些经验数据插值/外推取代。

我想找到并“映射”所有点相互之间的位置,以便我可以计算它们之间的角度。

为此,我查看了使用networkx,它提供了以下功能:

aGraph.add_nodes_from(aListOfNodes)   # Add all the nodes from the list, aListOfNodes
aGraph.add_edge(aNode1, aNode2) # creates an edge from aNode1 to aNode2

edgeData = {"weight": 42}      # a dictionary with only one entry
g.add_edge(nodeA, nodeB, edgeData)   #create the edge with the given data dictionary

这将允许我使用我的列表中的内容。我想要一些允许我添加节点对的东西,并且会自动链接末端很常见的对。

在我进一步向下看之前,netx的调查问题是在另一个python模块中有更好的功能可以做得更好吗?

1 个答案:

答案 0 :(得分:3)

networkx将完全符合您的要求:

g = nx.Graph()

for a, b , w in RSSI_list:
    g.add_edge(a, b, {'weight': w})

然后,您可以通过走图表来获得所需的一切。