包文档

未文档化

模块 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 未文档化
Matching 图中顶点的匹配。
TriadCensus 图的三元组普查。
UniqueIdGenerator 一个类似字典的类,可用于为名称(例如,顶点名称)分配唯一ID。
Vertex 表示图中单个顶点的类。
VertexClustering 图的顶点集的聚类。
VertexCover 图的顶点集的覆盖。
VertexDendrogram 图的顶点集层次聚类产生的树状图。
VertexSeq 表示图中顶点序列的类。
函数 community_to_membership 未文档化
函数 compare_communities 使用各种距离度量比较两个社区结构。
函数 convex_hull 计算给定点集的凸包。
函数 get_include 返回包含 igraph 的 Python 接口的 C API 头文件的文件夹。
函数 is_bigraphical 返回两个整数序列是否可以是一个二分图的度序列。
函数 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 计算两个社区结构之间的分裂-合并距离。
函数 umap_compute_weights 从有向距离图计算无向 UMAP 权重。UMAP 是一种布局算法,通常将有向距离图作为输入,例如基于向量空间中点之间的欧几里得距离的 k 近邻图……
函数 write 将图保存到给定文件。
变量 __license__ 未文档化
变量 __version__ 未文档化
变量 __version_info__ 未文档化
变量 config igraph 的主要配置对象。使用此对象修改 igraph 的行为,通常在交互模式下使用。
def community_to_membership(merges, nodes, steps, return_csize=False):

未文档化

def compare_communities(comm1, comm2, method='vi', remove_none=False): (source)

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

对于涉及熵的度量(例如,信息变异度量),igraph 使用自然对数。

参考文献

  • Meila M: Comparing clusterings by the variation of information. In: Scholkopf B, Warmuth MK (eds). Learning Theory and Kernel Machines: 16th Annual Conference on Computational Learning Theory and 7th Kernel Workship, COLT/Kernel 2003, Washington, DC, USA. Lecture Notes in Computer Science, vol. 2777, Springer, 2003. ISBN: 978-3-540-40720-1.
  • Danon L, Diaz-Guilera A, Duch J, Arenas A: Comparing community structure identification. J Stat Mech P09008, 2005.
  • van Dongen S: Performance criteria for graph clustering and Markov cluster experiments. Technical Report INS-R0012, National Research Institute for Mathematics and Computer Science in the Netherlands, Amsterdam, May 2000.
  • Rand WM: Objective criteria for the evaluation of clustering methods. J Am Stat Assoc 66(336):846-850, 1971.
  • Hubert L and Arabie P: Comparing partitions. Journal of Classification 2:193-218, 1985.
参数
comm1第一个社区结构,作为成员列表或 Clustering 对象。
comm2第二个社区结构,作为成员列表或 Clustering 对象。
method要使用的度量。"vi""meila"表示 Meila (2003) 的信息变异度量,"nmi""danon"表示 Danon 等人 (2005) 定义的归一化互信息,"split-join"表示 van Dongen (2000) 的分裂-合并距离,"rand"表示 Rand (1971) 的 Rand 指数,"adjusted_rand"表示 Hubert 和 Arabie (1985) 的调整 Rand 指数。
remove_none是否移除None成员列表中的条目。如果您的 Clustering 对象是使用 VertexClustering.FromAttribute 构建的,并且使用了并非为所有顶点定义的属性,这会很方便。如果remove_noneFalse,则任一输入中的None条目comm1comm2将导致异常。如果remove_noneTrue, None值被过滤掉,只比较剩余的列表。
返回
计算出的度量值。
def convex_hull(vs, coords=False):

计算给定点集的凸包。

参数
vs点集,表示为列表的列表
coords如果True,函数返回凸包多边形角的坐标,否则返回角索引。
返回
凸包角的坐标或与之对应的点索引,取决于coords参数。
def get_include(): (source)

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

def is_bigraphical(degrees1, degrees2, multiple=False):

返回两个整数序列是否可以是一个二分图的度序列。

二分图可能包含也可能不包含多重边,具体取决于其余参数中允许的边类型。

参数
degrees1第一部分的度列表。
degrees2第二部分的度列表。
multiple是否允许有多重边。
返回
True如果存在可以实现给定度序列(带或不带多重边)的二分图,则为 True。False否则。
def is_degree_sequence(out_deg, in_deg=None):

自 0.9 版本起弃用,推荐使用 is_graphical()

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

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

特别地,此函数检查是否

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

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

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

自 0.9 版本起弃用,推荐使用 is_graphical()

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

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

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

从给定文件名加载图。

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

参数
filename要加载的文件名
*args未文档化
**kwds未文档化
def set_progress_handler(handler):

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

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

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

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

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

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

参数
handler状态处理函数。它必须接受一个参数,即告知用户 igraph 当前正在做什么的消息。
def split_join_distance(comm1, comm2, remove_none=False): (source)

计算两个社区结构之间的分裂-合并距离。

分裂-合并距离是定义在给定集合分区空间上的一种距离度量。它是从一个分区到另一个分区的投影距离之和,反之亦然,其中 A 到 B 的投影数计算如下:

  1. 对于 A 中的每个集合,找到 B 中与其重叠最大的集合,并记录重叠的大小。
  2. 将 A 中每个集合的最大重叠大小相加。
  3. 从分区中的元素数量 n 中减去该和。

请注意,投影距离是不对称的,这就是为什么它必须双向计算然后相加。此函数返回comm1comm2的投影距离,以及comm2comm1的投影距离,并将它们作为一个对返回。实际的分裂-合并距离是这两个距离的总和。之所以这样呈现,是因为如果其中一个元素为零,则意味着其中一个分区是另一个分区的子分区(如果接近零,则其中一个分区接近于另一个分区的子分区)。

Reference: van Dongen S: Performance criteria for graph clustering and Markov cluster experiments. Technical Report INS-R0012, National Research Institute for Mathematics and Computer Science in the Netherlands, Amsterdam, May 2000.

参数
comm1第一个社区结构,作为成员列表或 Clustering 对象。
comm2第二个社区结构,作为成员列表或 Clustering 对象。
remove_none是否移除None成员列表中的条目。如果您的 Clustering 对象是使用 VertexClustering.FromAttribute 构建的,并且使用了并非为所有顶点定义的属性,这会很方便。如果remove_noneFalse,则任一输入中的None条目comm1comm2将导致异常。如果remove_noneTrue, None值被过滤掉,只比较剩余的列表。
返回
的投影距离comm1comm2和反之亦然,作为元组。分裂-合并距离是两者的总和。
另请参阅
compare_communities() 并使用method = "split-join"如果您只对它们的总和感兴趣,而不是各个投影距离。
def umap_compute_weights(graph, dist):

从有向距离图计算无向 UMAP 权重。UMAP 是一种布局算法,通常将有向距离图作为输入,例如基于向量空间中点之间欧几里得距离的 k 近邻图。该图是有向的,因为顶点 v1 可能认为顶点 v2 是一个近邻,但 v2 本身可能有许多比 v1 更近的邻居。此函数使用并集作为对称运算符,从距离图计算对称化权重。简单来说,如果任一顶点认为另一个顶点是近邻,它们将被视为近邻。

此函数可用作 Graph.layout_umap() 的独立预处理步骤。出于效率原因,返回的权重与输入距离具有相同的长度,但由于对称化,一些信息会丢失。因此,只要在输入距离图中发现方向相反的边,其中一条边的权重就会设置为零。您可以将此函数的输出直接传递给 Graph.layout_umap(),如下所示:weights = igraph.umap_compute_weights(graph, dist) layout = graph.layout_umap(weights=weights)

参数
graph用于计算权重的有向图。
dist与图边关联的距离。
返回
与每条边关联的对称化权重。如果距离图在一对顶点之间同时存在有向边,则其中一条返回的权重将设置为零。
另请参阅
Graph.layout_umap()
def write(graph, filename, *args, **kwds): (source)

将图保存到给定文件。

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

参数
graph要保存的图
filename要写入的文件名
*args未文档化
**kwds未文档化
__license__: str = (source)

未文档化

__version__ = (source)

未文档化

__version_info__: tuple[int, ...] = (source)

未文档化

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