python-igraph API 参考

python-igraph 中所有类、函数和方法的列表

类文档

某些数据集的层次聚类(树状图)。

层次聚类意味着我们不仅知道元素如何被分成组,而且还知道各个元素如何连接成更大的子组的确切历史记录。

此类在内部通过具有 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 上下文中绘制树状图
方法 __str__ 未归档
方法 format 以其他格式格式化树状图。
方法 names.setter 设置树状图中节点的名称
方法 summary 返回树状图的摘要。
属性 merges 以矩阵格式返回执行的合并
属性 names 返回树状图中节点的名称
静态方法 _convert_matrix_to_tuple_repr 将聚类的矩阵表示形式转换为元组表示形式。
方法 _item_box_size 计算在树状图底部绘制单个顶点所需的空间量。
方法 _plot_item 将树状图项绘制到给定的 Cairo 上下文中
方法 _traverse_inorder 进行合并树的中序遍历。
实例变量 _merges 未归档
实例变量 _names 未归档
实例变量 _nitems 未归档
实例变量 _nmerges 未归档
def __init__(self, merges):

创建层次聚类。

参数
merges合并历史记录,可以是矩阵格式或元组格式
def __plot__(self, context, bbox, palette, *args, **kwds):

在给定的 Cairo 上下文中绘制树状图

支持的关键字参数有

  • 方向:树状图的方向。必须是以下值之一左-右, 下-上, 右-左之一或上-下。单个元素始终放置在前一条边,合并朝着后一条边执行。可能的别名水平 = 左-右, 垂直 = 下-上, lr = 左-右, rl = 右-左, tb = 上-下, bt = 下-上。默认是左-右.
def __str__(self):

未归档

def format(self, format='newick'):

以其他格式格式化树状图。

目前仅支持 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;'
@names.setter
def names(self, items):

设置树状图中节点的名称

def summary(self, verbosity=0, max_leaf_count=40):

返回树状图的摘要。

摘要包括叶子和分支的数量,以及树状图的 ASCII 艺术表示形式,除非它太大。

参数
verbosity确定是否应打印树状图的 ASCII 表示形式。零详细度仅打印叶子和分支的数量。
max_leaf_count在 ASCII 表示形式中要打印的最大叶子数。如果树状图的叶子数超过此限制,即使详细度大于或等于 1,也不会打印 ASCII 表示形式。
返回值
树状图的摘要,以字符串形式。
@property
merges =

以矩阵格式返回执行的合并

@property
names =

返回树状图中节点的名称

@staticmethod
def _convert_matrix_to_tuple_repr(merges, n=None):

将聚类的矩阵表示形式转换为元组表示形式。

参数
merges聚类的矩阵表示形式
n未归档
返回值
聚类的元组表示形式
def _item_box_size(self, context, horiz, idx):

计算在树状图底部绘制单个顶点所需的空间量。

def _plot_item(self, context, horiz, idx, x, y):

将树状图项绘制到给定的 Cairo 上下文中

参数
context我们正在绘制的 Cairo 上下文
horiz树状图是否水平方向
idx项目的索引
x项目的 X 位置
y项目的 Y 位置
def _traverse_inorder(self):

进行合并树的中序遍历。

中序遍历按应绘制的顺序返回最后一层的节点,以便没有边相互交叉。

返回值
中序遍历的结果,以列表形式。
_merges =

未归档

_names =

未归档

_nitems =

未归档

_nmerges =

未归档