Найти кластер / подграф узлов в точке - PullRequest
0 голосов
/ 19 октября 2018

У меня есть точечный файл, который содержит график с различными кластерами, что-то вроде:

subgraph cluster_bb_5020 {
            style=filled fillcolor=white
            label="label  [5020]"
            NODE230 [label="668"]
            ....

Интересно, как я могу получить число узлов кластера (например, здесь кластер NODE230 это cluster_bb_5020) вГрафик с помощью networkx или pydot или pygraphviz?Или вообще, как я могу получить информацию о кластере?

Спасибо!

1 Ответ

0 голосов
/ 19 октября 2018

Я нашел ответ:

import pydot   
graph = pydot.graph_from_dot_file('graph.dot')
nodes_bb = {}
for cluster in graph[0].get_subgraphs():
     if cluster.obj_dict['name'].startswith('cluster_bb_'):
          basic_block_id = cluster.obj_dict['name'].split('_')[-1]
               for node in cluster.obj_dict['nodes'].keys():
                    nodes_bb[node] = str(basic_block_id)

print nodes_bb

Тем не менее, pydot очень медленно !!!

...