Python networkx:基于节点属性对节点进行分组

时间:2016-11-15 09:42:11

标签: python numpy cluster-analysis networkx

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

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

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

我的图表Site A显示了图表的所需输出。Example graph

我相信如果我在同一站点的节点之间创建虚拟边缘,我可以得到一个解决方案,并使用弹簧布局给它们高权重,以确保站点上的相同节点靠近在一起,但这似乎不是一个最佳解决方案。

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

1 个答案:

答案 0 :(得分:0)

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