cdlib.viz.plot_network_highlighted_clusters

cdlib.viz.plot_network_highlighted_clusters(graph: object, partition: NodeClustering, position: dict | None = None, figsize: tuple = (8, 8), node_size: int = 200, plot_overlaps: bool = False, plot_labels: bool = False, cmap: object | None = None, top_k: int | None = None, min_size: int | None = None, edge_weights_intracluster: int = 200) object

此函数绘制了一个突出显示社区的网络,节点颜色编码用于社区,并在集群周围绘制多边形。它利用NetworkX中的spring_layout来定位节点,使集群内的节点更接近。当考虑边权重时,此布局会相应地调整节点位置,从而更清晰地展示社区结构。

Parameters:
  • graph – NetworkX/igraph 图

  • partition – 节点聚类对象

  • position – 一个字典,其中节点作为键,位置作为值。示例:networkx.fruchterman_reingold_layout(G)。默认情况下,使用 nx.spring_layout(g)

  • figsize – 图形大小;它是一对浮点数,默认值为 (8, 8)

  • node_size – int, 节点的大小。默认值为200。

  • plot_overlaps – bool, 默认 False。控制是否绘制多个算法成员资格的标志。

  • plot_labels – bool, 默认值为 False。用于控制是否绘制节点标签的标志。

  • cmap – str 或 Matplotlib 颜色映射,用于映射节点强度的颜色映射(Matplotlib 颜色映射)。如果设置为 None,则使用原始颜色映射。

  • top_k – int, 显示前K个有影响力的社区。如果设置为零或负值,则表示显示所有。

  • min_size – int, 排除低于指定最小规模的社区。

  • edge_weights_intracluster – 集群内边的权重。对于spring_layout很有用。

示例:

>>> from cdlib import algorithms, viz
>>> import networkx as nx
>>> g = nx.karate_club_graph()
>>> coms = algorithms.louvain(g)
>>> position = nx.spring_layout(g)
>>> viz.plot_network_highlighted_clusters(g, coms, position)