在点中查找 cluster/subgraph 个节点
Find cluster/subgraph of nodes in dot
我有一个点文件,其中包含一个具有不同簇的图形,例如:
subgraph cluster_bb_5020 {
style=filled fillcolor=white
label="label [5020]"
NODE230 [label="668"]
....
我想知道如何通过 networkx 或 pydot 或 pygraphviz 在图中获取节点的集群数量(例如,这里的 NODE230 集群是 cluster_bb_5020)?或者一般来说,如何获取集群信息?
谢谢!
我找到了答案:
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真的很慢!!!
我有一个点文件,其中包含一个具有不同簇的图形,例如:
subgraph cluster_bb_5020 {
style=filled fillcolor=white
label="label [5020]"
NODE230 [label="668"]
....
我想知道如何通过 networkx 或 pydot 或 pygraphviz 在图中获取节点的集群数量(例如,这里的 NODE230 集群是 cluster_bb_5020)?或者一般来说,如何获取集群信息?
谢谢!
我找到了答案:
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真的很慢!!!