网络X.创建边缘

时间:2013-09-26 09:57:56

标签: python graph nodes networkx edges

我需要浏览坐标列表中的每个点。在它与每个最近邻居之间划一条优势。

但是我得到了一些优势(100,100),(40,40)。例如:

我的textfile里面有以下内容

这是我的代码

import numpy as np
from sklearn.neighbors import NearestNeighbors


import networkx as nx



#Get coordinates
f_name = 'bunny'
#coord = np.genfromtxt(str(f_name)+'.txt',autostrip=True)
coord = np.random.randn(200, 6)

#Fit nearest neighbours to coordinates
neigh = NearestNeighbors(3) 
neigh.fit(coord[:,:3])


#Create a graph
G = nx.Graph() 

#Add all points and there neighbours to graph, make the weight equal to the distance between points
for i in range(0,len(coord)):


    d = neigh.kneighbors(coord[i,:3]) 

    k = 3
    for c in range(0,k):
        p1 = d[1][0][0]
        p2 = d[1][0][c]
        n1 = coord[d[1][0][0],3:6]
        n2 = coord[d[1][0][c],3:6]
        dot = np.dot(n1,n2)

        G.add_edge(p1,p2,weight =1-np.abs(dot))
print G.edges()

示例:如果我遍历我的边缘,我会在某些行中得到以下内容

(1881,1881) (1881年,1882年) (1882年,1882年)

0 个答案:

没有答案