Python NetworkX 图聚类算法可视化
以下 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()
程序设计思路:
- 导入
networkx和matplotlib.pyplot库。 - 创建一个无向图
G。 - 向
G中添加 10 个节点。 - 向
G中添加 11 条边。 - 调用图聚类算法
nx.connected_components(G),将G分成多个子图。 - 绘制图形,使用
spring_layout布局算法确定节点位置,使用不同的颜色表示不同的子图。
原文地址: https://www.cveoy.top/t/topic/jFSW 著作权归作者所有。请勿转载和采集!