首页 > 解决方案 > 使用 Networkx 和“Force Atlas”或“Sampson”算法的关键字并发聚类网络

问题描述

我有一个大型网络可以使用 NetworkX 进行可视化。网络可视化的矩阵是 CSV 格式的关键字的共现。我运行以下命令并查看图表。我的问题是集群网络。如果让我知道如何基于“Force Atlas”或“Sampson”算法进行聚类,我将不胜感激。我已经尝试过 Force Atlas,但在 Windows 中安装“pygraphviz”时遇到了困难。

import pandas as pd
import networkx as nx
import matplotlib.pyplot as plt


input_data = pd.read_csv('Matrix.csv', index_col=0)
G = nx.DiGraph(input_data.values)
nx.draw(G)

标签: pythonnetworkx

解决方案


您可以像这样将位置传递给绘图命令:

nx.draw(G, pos=nx.spring_layout(G))

这将使用 Fruchterman-Reingold 力导向算法来计算节点的位置。还有更多布局可供探索:https ://networkx.org/documentation/stable/reference/drawing.html

如果我正确回忆 Gephi ( https://gephi.org/ ) 已经实现了 Force Atlas 布局的实现。如果您的目标是绘制大型网络,请检查一下。


推荐阅读