def test_dendrogram_layout(self): hier.dendrogram_layout(self.cluster) pruned1 = hier.pruned(self.cluster, level=2) hier.dendrogram_layout(pruned1, expand_leaves=True) hier.dendrogram_layout(pruned1, expand_leaves=False) pruned2 = hier.pruned(self.cluster, height=10) hier.dendrogram_layout(pruned2, expand_leaves=True) hier.dendrogram_layout(pruned2, expand_leaves=False)
def test_prunning(self): pruned1 = hier.pruned(self.cluster, level=2) depths = hier.cluster_depths(pruned1) self.assertTrue(all(d <= 2 for d in depths.values())) pruned2 = hier.pruned(self.cluster, height=10) self.assertTrue(c.height >= 10 for c in hier.preorder(pruned2)) pruned3 = hier.pruned(self.cluster, condition=lambda cl: len(cl) <= 3) self.assertTrue(len(c) > 3 for c in hier.preorder(pruned3))
def on_depth_change(self): if self.root_cluster and self.dendrogram.widget: selected = self.dendrogram.widget.selected_clusters() selected = set([(c.first, c.last) for c in selected]) root = self.root_cluster if self.PrintDepthCheck: root = hierarchical.pruned(root, level=self.PrintDepth) self.display_tree1(root) selected = [c for c in hierarchical.preorder(root) if (c.first, c.last) in selected] self.dendrogram.widget.set_selected_clusters(selected)
def display_tree(self): root = self.root_cluster if self.PrintDepthCheck: root = hierarchical.pruned(root, level=self.PrintDepth) self.display_tree1(root)