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)