以下 Python 代码使用 NetworkX 库进行图聚类,并利用 matplotlib 绘制可视化结果。

import networkx as nx
import matplotlib.pyplot as plt

# 创建无向图
G = nx.Graph()

# 添加节点
G.add_nodes_from([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# 添加边
G.add_edges_from([(1, 2), (1, 3), (2, 3), (2, 4), (3, 4), (5, 6), (5, 7), (6, 7), (8, 9), (8, 10), (9, 10)])

# 调用图聚类算法
subgraphs = list(nx.connected_components(G))

# 绘制图形
pos = nx.spring_layout(G)
colors = ['r', 'g', 'b', 'y', 'c', 'm', 'k']
for i, subgraph in enumerate(subgraphs):
    nx.draw_networkx_nodes(G, pos, nodelist=list(subgraph), node_color=colors[i % len(colors)])
nx.draw_networkx_edges(G, pos)
plt.show()

程序设计思路:

  1. 导入 networkxmatplotlib.pyplot 库。
  2. 创建一个无向图 G
  3. G 中添加 10 个节点。
  4. G 中添加 11 条边。
  5. 调用图聚类算法 nx.connected_components(G),将 G 分成多个子图。
  6. 绘制图形,使用 spring_layout 布局算法确定节点位置,使用不同的颜色表示不同的子图。
Python NetworkX 图聚类算法可视化

原文地址: https://www.cveoy.top/t/topic/jFSW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录