连通组件

这个示例演示了如何使用igraph.GraphBase.connected_components()来可视化图中的连通组件。

import igraph as ig
import matplotlib.pyplot as plt
import random

首先,我们生成一个具有随机顶点大小的随机几何图。种子设置为示例在我们的手册中是可重现的:你实际上并不需要它来理解这些概念。

random.seed(0)
g = ig.Graph.GRG(50, 0.15)

现在我们可以将图聚类为弱连通组件,即没有边将它们相互连接的子图:

components = g.connected_components(mode='weak')

最后,我们可以可视化图的不同连通组件:

fig, ax = plt.subplots()
ig.plot(
    components,
    target=ax,
    palette=ig.RainbowPalette(),
    vertex_size=7,
    vertex_color=list(map(int, ig.rescale(components.membership, (0, 200), clamp=True))),
    edge_width=0.7
)
plt.show()
connected components

注意

我们在顶点颜色中使用0到200的整数,而不是0到255,因为在igraph.drawing.colors.RainbowPalette中255对应于循环回到红色。这为我们提供了很好的不同色调。

脚本的总运行时间: (0 分钟 1.412 秒)

Gallery generated by Sphinx-Gallery