python-igraph API 参考

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

包文档

igraph 库。

模块 adjacency 无模块文档字符串;5/5 函数已记录
app igraph 的用户界面
模块 automorphisms 无模块文档字符串;2/2 函数已记录
模块 basic 无模块文档字符串;8/8 函数已记录
模块 bipartite 无模块文档字符串;3/3 函数已记录
模块 clustering 与图聚类相关的类。
模块 community 无模块文档字符串;13/13 函数已记录
模块 configuration igraph 的配置框架。
模块 cut 表示图上的割和流的类。
模块 datatypes 附加辅助数据类型
drawing igraph 的绘制和绘图例程。
模块 formula igraph.Graph.Formula() 的实现。
io 未归档
模块 layout igraph 库中与布局相关的代码。
模块 matching 表示图上匹配的类。
operators 并集、不相交并集和交集运算符的实现。
remote 帮助 igraph 与远程应用程序通信的类。
模块 seq 无模块文档字符串;1/2 函数已记录
模块 sparse_matrix Python 级别稀疏矩阵运算的实现。
模块 statistics igraph 中与统计相关的内容
模块 structural 无模块文档字符串;5/5 函数已记录
模块 summary 图的摘要表示。
模块 utils 无法在其他地方分类的实用函数。
模块 version 未归档
模块 _igraph igraph 库的底层 Python 接口。不应直接使用。

来自 __init__.py

ARPACKOptions 表示 ARPACK 模块参数的类。
BFSIter igraph BFS 迭代器对象
Clustering 表示任意有序集合的聚类的类。
CohesiveBlocks 图的凝聚块结构。
Configuration 表示 igraph 配置详细信息的类。
Cover 表示任意有序集合的覆盖的类。
Cut 给定图的割。
Dendrogram 某些数据集的层次聚类(树状图)。
DFSIter igraph DFS 迭代器对象
DyadCensus 图的二元组统计。
Edge 表示图中单个边的类。
EdgeSeq 表示图中边的序列的类。
Flow 给定图的流。
Graph 通用图。
GraphBase 图的底层表示。
InternalError 未归档
匹配 图中的顶点匹配。
TriadCensus 图的三元组统计。
UniqueIdGenerator 一个类似字典的类,可用于为名称(例如,顶点名称)分配唯一 ID。
Vertex 表示图中单个顶点的类。
VertexClustering 图的顶点集的聚类。
VertexCover 图的顶点集的覆盖。
VertexDendrogram 顶点集层次聚类产生的树状图。
VertexSeq 表示图中顶点序列的类。
函数 community_to_membership 未归档
函数 compare_communities 使用各种距离度量比较两个社区结构。
函数 convex_hull 计算给定点集的凸包。
函数 deprecated 打印与某些 igraph 功能的弃用相关的警告消息。
函数 get_include 返回包含 igraph 的 Python 接口的 C API 标头的文件夹。
函数 is_degree_sequence 自 0.9 版本起已弃用,建议使用 is_graphical()
函数 is_graphical 返回度数列表是否可以是某个图的度数序列,是否具有多重边和环边,具体取决于剩余参数中允许的边类型。
函数 is_graphical_degree_sequence 自 0.9 版本起已弃用,建议使用 is_graphical()
函数 read 从给定文件名加载图。
函数 set_progress_handler 设置在 igraph 执行长时间操作时要调用的处理程序。
函数 set_random_number_generator 设置 igraph 使用的随机数生成器。
函数 set_status_handler 设置当 igraph 尝试显示状态消息时要调用的处理程序。
函数 split_join_distance 计算两个社区结构之间的 split-join 距离。
函数 write 将图保存到给定文件。
变量 __license__ 未归档
变量 config igraph 的主要配置对象。 使用此对象修改 igraph 的行为,通常在交互模式下使用。
__license__: str =

未归档

def community_to_membership(merges, nodes, steps, return_csize=False):

未归档

def convex_hull(vs, coords=False):

计算给定点集的凸包。

参数
vs点集,以列表的列表形式表示
coords如果True,该函数返回凸包多边形的角坐标,否则返回角索引。
返回值
凸包的角坐标或与其对应的点索引,取决于coords参数。
def is_degree_sequence(out_deg, in_deg=None):

自 0.9 版本起已弃用,建议使用 is_graphical()

返回度数列表是否可以是某个图的度数序列。

请注意,不需要图是简单的;换句话说,此函数可能会返回True对于只能使用一个或多个多重边或环边实现的度数序列。

特别是,此函数检查是否

  • 所有度数均为非负数
  • 对于无向图,度数之和为偶数
  • 对于有向图,两个度数序列长度相同且总和相等
参数
out_deg度数列表。 对于有向图,此列表必须包含顶点的出度。
in_deg有向图的入度列表。 此参数必须为None对于无向图。
返回值
True如果存在可以实现给定度数序列的图,False否则。
def is_graphical(out_deg, in_deg=None, loops=False, multiple=False):

返回度数列表是否可以是某个图的度数序列,是否具有多重边和环边,具体取决于剩余参数中允许的边类型。

参数
out_deg度数列表。 对于有向图,此列表必须包含顶点的出度。
in_deg有向图的入度列表。 此参数必须为None对于无向图。
循环是否允许环边。
multiple是否允许多重边。
返回值
True如果存在可以使用给定边类型实现给定度数序列的图,False否则。
def is_graphical_degree_sequence(out_deg, in_deg=None):

自 0.9 版本起已弃用,建议使用 is_graphical()

返回度数列表是否可以是某个简单图的度数序列。

请注意,需要图是简单的;换句话说,此函数将返回False对于无法在不使用一个或多个多重边或环边的情况下实现的度数序列。

参数
out_deg度数列表。 对于有向图,此列表必须包含顶点的出度。
in_deg有向图的入度列表。 此参数必须为None对于无向图。
返回值
True如果存在可以实现给定度数序列的简单图,False否则。
def set_progress_handler(handler):

设置在 igraph 执行长时间操作时要调用的处理程序。

参数
handler进度处理程序函数。 它必须接受两个参数,第一个参数是通知用户 igraph 当前正在执行的操作的消息,第二个参数是实际进度信息(百分比)。
def set_random_number_generator(generator):

设置 igraph 使用的随机数生成器。

参数
generator要使用的生成器。 它必须是一个 Python 对象,至少具有三个属性random, randintgauss。 它们的每一个都必须是可调用的,并且它们的签名和行为必须与random.random, random.randintrandom.gauss。 默认情况下,igraph 使用random模块进行随机数生成,但您可以在此处提供您的替代实现。 如果给定的生成器是None,则 igraph 恢复为 C 层中实现的默认 Mersenne Twister 生成器,这可能比回调到 Python 进行随机数生成略快,但您无法设置其种子或保存其状态。
def set_status_handler(handler):

设置当 igraph 尝试显示状态消息时要调用的处理程序。

这用于传达某些计算的进度,其中无法给出合理的进度百分比(因此无法使用进度处理程序)。

参数
handler状态处理程序函数。 它必须接受一个参数,即通知用户 igraph 当前正在执行的操作的消息。
def compare_communities(comm1, comm2, method='vi', remove_none=False):

使用各种距离度量比较两个社区结构。

参数
comm1第一个社区结构,作为成员列表或 Clustering 对象。
comm2第二个社区结构,作为成员列表或 Clustering 对象。
method要使用的度量。"vi"之一或"meila"表示 Meila (2003) 的信息度量变异,"nmi"之一或"danon"表示 Danon 等人 (2005) 定义的归一化互信息,"split-join"表示 van Dongen (2000) 的 split-join 距离,"rand"表示 Rand (1971) 的 Rand 指数,"adjusted_rand"表示 Hubert 和 Arabie (1985) 的调整 Rand 指数。
remove_none是否删除None成员列表中的条目。 如果您的 Clustering 对象是使用 VertexClustering.FromAttribute 构建的,并且该属性未为所有顶点定义,则这很方便。 如果remove_noneFalse,则None中的条目comm1之一或comm2将导致异常。 如果remove_noneTrue, None值将被过滤掉,并且仅比较剩余列表。
返回值
计算的度量。
未知字段:newfield
ref参考
未知字段:ref
Meila M:通过信息变异比较聚类。 In: Scholkopf B, Warmuth MK (eds). 学习理论和核机器:第 16 届计算学习理论年度会议和第 7 届内核研讨会,COLT/Kernel 2003, Washington, DC, USA。 计算机科学讲义,第 2777 卷,Springer,2003 年。ISBN:978-3-540-40720-1。
Danon L, Diaz-Guilera A, Duch J, Arenas A:比较社区结构识别。 J Stat Mech P09008, 2005。
van Dongen D:图聚类和马尔可夫聚类实验的性能标准。 技术报告 INS-R0012,荷兰国家数学和计算机科学研究所,阿姆斯特丹,2000 年 5 月。
Rand WM:聚类方法评估的客观标准。 J Am Stat Assoc 66(336):846-850, 1971。
Hubert L 和 Arabie P:比较分区。 Journal of Classification 2:193-218, 1985。
def split_join_distance(comm1, comm2, remove_none=False):

计算两个社区结构之间的 split-join 距离。

split-join 距离是在给定集合的分区空间上定义的距离度量。 它是从另一个分区及其反向的分区投影距离之和,其中 A 的投影数是从 B 计算的,如下所示

  1. 对于 A 中的每个集合,找到 B 中与之具有最大重叠的集合,并记下重叠的大小。
  2. 计算 A 中每个集合的最大重叠大小的总和。
  3. n 中减去该总和,n 是分区中的元素数。

请注意,投影距离是不对称的,这就是为什么必须在两个方向上计算它然后加在一起的原因。 此函数返回comm1comm2的投影距离和comm2comm1,并将它们以一对形式返回。 实际的 split-join 距离是两个距离之和。 以这种方式呈现的原因是其中一个元素为零,则意味着其中一个分区是另一个分区的子分区(如果它接近于零,则其中一个分区接近于成为另一个分区的子分区)。

参数
comm1第一个社区结构,作为成员列表或 Clustering 对象。
comm2第二个社区结构,作为成员列表或 Clustering 对象。
remove_none是否删除None成员列表中的条目。 如果您的 Clustering 对象是使用 VertexClustering.FromAttribute 构建的,并且该属性未为所有顶点定义,则这很方便。 如果remove_noneFalse,则None中的条目comm1之一或comm2将导致异常。 如果remove_noneTrue, None值将被过滤掉,并且仅比较剩余列表。
返回值
的投影距离comm1comm2以及元组中的相反距离。 split-join 距离是两者之和。
参见
compare_communities()method = "split-join"如果您只对它们的总和感兴趣,而不是对单个投影距离感兴趣。
未知字段:newfield
ref参考
未知字段:ref
van Dongen D:图聚类和马尔可夫聚类实验的性能标准。 技术报告 INS-R0012,荷兰国家数学和计算机科学研究所,阿姆斯特丹,2000 年 5 月。
def deprecated(message):

打印与某些 igraph 功能的弃用相关的警告消息。

def get_include():

返回包含 igraph 的 Python 接口的 C API 标头的文件夹。

def read(filename, *args, **kwds):

从给定文件名加载图。

这只是一个方便函数,直接调用 Graph.Read。 所有参数都将不变地传递给 Graph.Read

参数
filename要加载的文件的名称
*args未归档
**kwds未归档
def write(graph, filename, *args, **kwds):

将图保存到给定文件。

这只是一个方便函数,直接调用 Graph.write。 所有参数都将不变地传递给 Graph.write

参数
要保存的图
filename要写入的文件的名称
*args未归档
**kwds未归档
config =

igraph 的主要配置对象。 使用此对象修改 igraph 的行为,通常在交互模式下使用。