繁体   English   中英

在networkx中查找和修复标签岛

[英]Finding and fixing label islands in networkx

我有一个图,其中每个节点都有一个整数标签。 如果图形行为良好,则标记区域将是连续的。 我想在python networkx中写一些东西来“修复”坏图。 例如,在

在此处输入图片说明

我想:

1)识别不良节点(蓝色虚线中的节点); 然后

2)移除标签并用正确的值“填充”

我的图表词汇很弱; 有没有可以做到这一点的networkx函数?

注意:不确定是否会有所不同,但是所有节点的度数均为3,并且该图始终是拓扑球。

1)对于每个标签,为原始图制作一个包含所有带有该标签的节点的子图( networkx.subgraph )。

2)对于每个子图,使用networkx.connected_components查找连接的组件,该组件返回一个节点集生成器,每个节点集一个。

3)对于不是该类最大组件的每个组件,请使用networkx.neighbors查找每个节点的邻居; 确定它们的标签,并将最常用的标签(不是组件的标签)分配给该组件中的节点。

如果贴错标签的大“岛”彼此相邻,则此过程可能会失败,但适用于所示示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM