Python 网络 x : grouping nodes based on a node attribute

标签 python numpy cluster-analysis networkx

我正在根据邻接矩阵绘制网络拓扑图(与电信相关)。我有一个 numpy 邻接矩阵,我从中生成一个 networkx 图 (G)。

在特定站点(城市),我有多个节点,它们可能互连也可能不互连。站点名称可以根据节点名称(标签)确定。

是否可以将同一站点的节点聚集在一起(最好在它们周围画一个框),同时显示站点内的各个节点?我认为这就像根据某些节点属性(例如节点名称)对节点进行分组。

I 图表站点 A 显示了图表的所需输出。 Example graph

我相信如果我在同一个站点的节点之间创建虚拟边缘,并使用 spring 布局为它们赋予高权重以确保站点中的相同节点靠近在一起,我相信我可以获得解决方案,但这看起来不像是最优解。

任何建议表示赞赏!!提前致谢。另请注意,使用 numpy 和 networkx 并不是必须的,我愿意接受建议。

最佳答案

我最近一直在处理类似的问题。我的解决方案是创建一个虚拟图,其中节点属性是新节点,新节点之间的边根据各个节点类型之间的连接数加权。

关于Python 网络 x : grouping nodes based on a node attribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40606530/

相关文章:

machine-learning - 在 Spark 中使用 Silhouette 聚类

python - scikit-learn DBSCAN 内存使用情况

python - 设置 SQLite 数据库进行聚类分析

python - 从 gearman worker 发送失败的作业输出的最佳方法是什么?

python - 如何使用 csv 数据作为变量将其应用于公式?

python - 无法使用 scikit-learn 导入 'datasets'

python - 对如何使用 numpy.pad 向我的 numpy imagearray 正确添加白色边框感到困惑

python - 为什么 Python ** 运算符在数组和标量上的行为不同

python - numpy,数组不同层的不同切片

Python 将列表转换为二维 numpy 数组