图的顶点集的聚类。
此类通过将其链接到特定的 Graph
对象并可选择存储聚类的模块化得分来扩展 Clustering
。它还提供了一些方便的方法,例如获取对应于聚类的子图等。
注意 | |
由于此类链接到 Graph ,因此通过以下方式销毁图形del如果存在引用 Graph 的 VertexClustering ,则运算符不释放图占用的内存。 |
类方法 |
|
创建一个基于顶点属性值的顶点聚类。 |
方法 | __init__ |
为给定的图创建一个聚类对象。 |
方法 | __plot__ |
在给定的边界框中将聚类绘制到给定的 Cairo 上下文中。 |
方法 | as |
返回一个VertexCover ,其中包含与此聚类相同的聚类。 |
方法 | cluster |
返回一个图,其中每个聚类都被收缩成一个顶点。 |
方法 | crossing |
返回一个布尔向量,其中元素i是True当且仅当边i位于聚类之间时,False否则。 |
方法 | giant |
返回聚类图中最大的聚类。 |
方法 | recalculate |
重新计算存储的模块化值。 |
方法 | subgraph |
获取属于给定聚类的子图。 |
方法 | subgraphs |
获取属于每个聚类的所有子图。 |
属性 | 图 |
返回属于此对象的图 |
属性 | modularity |
返回模块化分数 |
方法 | _formatted |
迭代聚类并将它们格式化为字符串,以便在摘要中显示。 |
方法 | _recalculate |
重新计算存储的模块化值并吞下模块化函数引发的所有异常(如果有)。 |
类变量 | _default |
未归档 |
实例变量 | _graph |
未归档 |
实例变量 | _modularity |
未归档 |
实例变量 | _modularity |
未归档 |
实例变量 | _modularity |
未归档 |
继承自 Clustering
方法 | __getitem__ |
返回指定聚类的成员。 |
方法 | __iter__ |
迭代此聚类中的聚类。 |
方法 | __len__ |
返回聚类的数量。 |
方法 | __str__ |
未归档 |
方法 | compare |
使用一些相似性或距离度量将此聚类与另一个聚类进行比较。 |
方法 | size |
返回给定聚类的大小。 |
方法 | size |
返回聚类大小的直方图。 |
方法 | sizes |
返回给定聚类的大小。 |
方法 | summary |
返回聚类的摘要。 |
属性 | membership |
返回成员向量。 |
属性 | n |
返回此聚类覆盖的元素数量。 |
实例变量 | _len |
未归档 |
实例变量 | _membership |
未归档 |
创建一个基于顶点属性值的顶点聚类。
具有相同属性的顶点将对应于相同的聚类。
参数 | |
图 | 我们正在处理的图 |
attribute | 聚类所基于的属性的名称。 |
intervals | 对于数值属性,您可以在此处传递单个数字或数字列表。单个数字意味着顶点将被放入该宽度的 bin 中,并且最终位于同一 bin 中的顶点将位于同一聚类中。数字列表显式指定 bin 位置;例如,[10, 20, 30]意味着将有四个类别:属性值小于 10、介于 10 和 20 之间、介于 20 和 30 之间以及大于 30 的顶点。间隔从左侧闭合,从右侧打开。 |
params | 要存储在此对象中的其他参数。 |
返回值 | |
一个新的 VertexClustering 对象 |
igraph.cut.Cut
中被覆盖为给定的图创建一个聚类对象。
参数 | |
图 | 将与聚类关联的图 |
membership | 成员列表。列表的长度必须等于图中的顶点数。如果None,则假定每个顶点都属于同一聚类。 |
modularity | 聚类的模块化得分。如果None,它将在需要时计算。 |
params | 要存储在此对象中的其他参数。 |
modularity | 应传递给 Graph.modularity 的参数,以便在(重新)计算模块化时使用。如果原始图是加权图,则应传递包含一个weight键和此处相应值的字典。 |
在给定的边界框中将聚类绘制到给定的 Cairo 上下文中。
这是通过使用相同的参数调用 Graph.__plot__()
来完成的,但根据当前聚类对图顶点进行着色(除非被vertex_color参数显式覆盖)。
此方法理解 Graph.__plot__()
理解的所有位置参数和关键字参数,此处仅突出显示差异
mark_groups:是否通过彩色多边形突出显示某些顶点组。除了
Graph.__plot__
接受的值(即,将颜色映射到顶点索引的 dict,包含顶点索引列表的列表,或False),还接受以下值- True:所有组都将被突出显示,颜色与当前调色板中的相应颜色索引匹配(请参阅palette
Graph.__plot__()
的关键字参数。 - 将聚类索引或顶点索引元组映射到颜色名称的字典。给定的聚类或顶点组将以给定的颜色突出显示。
- 群集索引列表。这等效于传递一个将来自当前调色板的数值颜色索引映射到群集索引的 dict;因此,列表的元素 i 引用的群集将通过调色板中的颜色 i 突出显示。
的plotting.mark_groups配置键的值也在此处考虑;如果该配置键是True和mark_groups未明确给出,则会自动设置为True.
您还可以使用
VertexSeq
实例代替顶点索引列表。您还可以使用当前调色板中的颜色索引代替颜色名称。None作为颜色名称将意味着相应的组将被忽略。
- True:所有组都将被突出显示,颜色与当前调色板中的相应颜色索引匹配(请参阅palette
palette:用于将数值颜色索引解析为 RGBA 值的调色板。默认情况下,这是一个
ClusterColoringPalette
的实例。
参见 | |
有关更多受支持的关键字参数,请参阅 Graph.__plot__() 。 |
返回一个图,其中每个聚类都被收缩成一个顶点。
在结果图中,顶点 i 表示此聚类中的群集 i。如果原始图中至少存在一个连接的顶点对 (a, b),使得顶点 a 位于群集 i 中,并且顶点 b 位于群集 j 中,则顶点 i 和 j 将连接。
参数 | |
combine | 指定如何从旧顶点的属性派生新图中顶点的属性。有关更多详细信息,请参见 Graph.contract_vertices() 。 |
combine | 指定如何从旧边的属性派生新图中边的属性。有关更多详细信息,请参见 Graph.simplify() 。如果指定False此处,边将不会被合并,并且表示原始群集的顶点之间的边数将等于原始图中这些群集的成员之间的边数。 |
返回值 | |
新图。 |
返回聚类图中最大的聚类。
最大的群集是一个群集中不存在更大群集的群集。如果聚类表示社区检测功能的结果,则它也可能被称为巨型社区。
前提条件:自构造覆盖以来,图形的顶点集未被修改。
返回值 | |
最大群集的副本。 | |
注意 | |
可能存在多个最大的群集,如果存在多个最大的群集,此方法将返回任意一个的副本。 |
重新计算存储的模块化值。
如果自创建 VertexClustering
对象以来图已被修改(已添加或删除边),则必须先调用此方法,然后才能通过类成员modularity之一或q查询聚类的模块化得分。
返回值 | |
新的模块化得分 |