图形工具:子图形作为新的Graph对象

时间:2017-01-23 16:37:44

标签: python subgraph graph-tool

我发现图形工具文档非常模糊,比其他类似的库更加神秘。

我真的无法弄清楚如何提取"图形工具中的图形组件(也称为连接组件)。我想将子图保存在单独的文件中作为单独的图形,但我不了解如何从我的Graph对象开始识别它们。

1 个答案:

答案 0 :(得分:7)

最简单(也是最快)的方法是使用GraphView对象。

# label the components in a property map
c = label_components(g)[0]

# "extract" component number 3
u = GraphView(g, vfilt=c.a == 3)

对象u现在是g的诱导子图,其中包含组件标签3的所有顶点。请注意,GraphView对象不会复制图形,它只是掩盖离开其他顶点/边缘。

如果您希望获得子图的副本(例如,如果您想要修改它或原始图),您只需从中实例化一个新的Graph对象:

u = Graph(u, prune=True)

有关图表视图的更多信息,请参阅文档:https://graph-tool.skewed.de/static/doc/quickstart.html#graph-views