python - 使用 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)
解决方案
您可以像这样将位置传递给绘图命令:
nx.draw(G, pos=nx.spring_layout(G))
这将使用 Fruchterman-Reingold 力导向算法来计算节点的位置。还有更多布局可供探索:https ://networkx.org/documentation/stable/reference/drawing.html
如果我正确回忆 Gephi ( https://gephi.org/ ) 已经实现了 Force Atlas 布局的实现。如果您的目标是绘制大型网络,请检查一下。
推荐阅读
- mapbox-gl - 如何在 Mapbox GL 中创建一条线?
- firebase - 及时从 Firestore 中检索数据
- javascript - 如何在不点击下载链接的情况下从 react-pdf 生成下载的 pdf?
- laravel - 我可以将数据透视表数据合并到父对象中吗?
- javascript - 我可以编辑 MongoDB 对象并取消它的先前值吗?
- html - 使用引导类在具有不同断点的同一行上设置图像和文本的顺序
- r - 从R中的ggplot过滤geom_lines?
- javascript - 使用 JWT (nodeJS) 检查身份验证
- bash - 如何在同一行中制作两个回显字符串?
- c - GCC 产生一个空的 _start 函数