def test_plotTree(self):
        # function to chose next spillting axis
        sel_axis = (lambda axis: axis)
        
        #create tree, first node splits in x direction
        tree = kdtree.createNewTree([[0.5, 0.5]],axis = 0, sel_axis= sel_axis)
        tree.split2([0.4, 0.5], axis = 0, sel_axis = sel_axis)
        
        #add right node root node and left node to new node
        tree.split2([0.6, 0.5], axis = 1, sel_axis = sel_axis)
        tree.split2([0.7, 0.4], axis = 0, sel_axis = sel_axis)
        
        print "node before: ", tree.get_path_to_best_matching_node([0.3, 0.5])[-1].label
        print "node before: ", tree.get_path_to_best_matching_node([0.3, 0.5])[-1].label
        #add a node
        tree.split2([0.3, 0.6], axis = 1, sel_axis = sel_axis)

        print "node after: ", tree.get_path_to_best_matching_node([0.3, 0.5])[-1].label
        print "node after: ", tree.get_path_to_best_matching_node([0.3, 0.5])[-1].label
        
        kdtree.visualize(tree)

#        img=mpimg.imread("test_unconstraint_tree.png")  
#        plt.imshow(img)
 
        # Compare to image test_unconstraint_tree.png
        kdtree.plot2D(tree, plt=plt)
Beispiel #2
0
    
tree = kdtree.create(no)

#kdtree.visualize(tree)

#print [ n.label for n in tree.get_path_to_best_matching_node((0.6,0.4))]
print [ str(n.label) +"  " + str(n.height()) for n in tree.get_path_to_best_matching_node((0.6, 0.4))]
print [ n.label for n in tree.get_path_to_best_matching_node((0.6, 0.1))]
print [ n.label for n in tree.get_path_to_best_matching_node((0.175, 0.6))]


kdtree.visualize(tree)


# unbalanced tree
tree2=kdtree.create([ (1, 2), (2, 3) ])
node=tree2.search_nn((1.1,2.1))
print node[0].label
node[0].add((1,1))

kdtree.visualize(tree2)

print "tree2.height(): ",  tree2.height()
print "node[0].level(tree2): ",  node[0].level(tree2)
print "tree2.level(tree2): ",  tree2.level(tree2)


#asumtion no
kdtree.plot2D(tree)