类文档
某些数据集的层次聚类(树状图)。
层次聚类意味着我们不仅知道元素是如何被分成组的,还知道个体元素是如何被组合成更大的子组的确切历史。
这个类在内部用一个 n 行 2 列的矩阵来表示层次结构--更准确地说,是一个大小为 2 的列表的列表。这与igraph的 C 核心使用的原始格式完全相同。矩阵的第 i 行包含在时间步 i 中被连接的两个簇的索引。联合组将由 ID n + i 表示,其中 i 从 1 开始。联合组的 ID 将在接下来的步骤中被引用,而不是它的任何单个成员。所以,小于或等于 n 的 ID (其中 n 是矩阵中的行数)表示数据集的原始成员(ID 从 0 到 n),而大于 n + 1 的 ID 表示联合组。例如,看看一个给定的五个节点的聚类树状图和内部表示
0 -+ | 1 -+-+ | 2 ---+-+ <====> [[0, 1], [3, 4], [2, 5], [6, 7]] | 3 -+ | | | 4 -+---+---
方法 | __init__ |
创建一个层次聚类。 |
方法 | __plot__ |
在给定的 Cairo 上下文或 matplotlib Axes 上绘制树状图。 |
方法 | __str__ |
未归档 |
方法 | format |
以其他格式格式化树状图。 |
方法 | names |
设置树状图中节点的名称 |
方法 | summary |
返回树状图的摘要。 |
属性 | merges |
以矩阵格式返回执行的合并 |
属性 | names |
返回树状图中节点的名称 |
静态方法 | _convert |
将聚类的矩阵表示形式转换为元组表示形式。 |
方法 | _traverse |
进行合并树的中序遍历。 |
实例变量 | _merges |
未归档 |
实例变量 | _names |
未归档 |
实例变量 | _nitems |
未归档 |
实例变量 | _nmerges |
未归档 |
在
igraph.VertexDendrogram
中被覆盖在给定的 Cairo 上下文或 matplotlib Axes 上绘制树状图。
支持的关键字参数有
- orientation: 树状图的方向。必须是以下值之一left-right, bottom-top, right-left之一或top-bottom. 个别元素总是放置在前一个边缘,合并朝着后一个边缘执行。可能的别名horizontal = left-right, vertical = bottom-top, lr = left-right, rl = right-left, tb = top-bottom, bt = bottom-top。默认是left-right.
以其他格式格式化树状图。
目前只支持 Newick 格式。
示例
>>> d = Dendrogram([(2, 3), (0, 1), (4, 5)]) >>> d.format() '((2,3)4,(0,1)5)6;' >>> d.names = list("ABCDEFG") >>> d.format() '((C,D)E,(A,B)F)G;'
返回树状图的摘要。
摘要包括叶子和分支的数量,以及树状图的 ASCII 艺术表示,除非它太大。
参数 | |
verbosity | 确定是否应打印树状图的 ASCII 表示。零详细度仅打印叶子和分支的数量。 |
max | 要在 ASCII 表示中打印的最大叶子数。如果树状图的叶子数超过此限制,即使详细度大于或等于 1,也不会打印 ASCII 表示。 |
返回值 | |
树状图的摘要,以字符串形式表示。 |