我发现图形工具文档非常模糊,比其他类似的库更加神秘.
我真的无法弄清楚如何从图形工具中的图形中"提取"组件(也称为连接组件).我想将子图保存在单独的文件中作为单独的图形,但我不明白如何从我的Graph对象开始识别它们.
最简单(也是最快)的方法是使用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