【问题标题】:efficient way of finding all unfiltered vertices of a filtered graph, in graph-tool library?在图形工具库中查找过滤图形的所有未过滤顶点的有效方法?
【发布时间】:2017-10-07 19:18:42
【问题描述】:
我正在使用图形工具在图形上分析疾病传播模型。
我想要一个过滤图,它只包含受感染的顶点,即要感染其邻居的顶点。
问题是当我过滤受感染的顶点时,其余数据丢失了,我知道 GraphView 子类,但问题是在迭代时将原始图形存储在某处对我没有帮助在过滤图的边缘,因为我无法访问顶点的等价物,也无法感染它的邻居。 (更改它们的属性。)
有没有一种有效的方法来帮助我完成任务?
谢谢。
【问题讨论】:
标签:
python
graph
graph-tool
【解决方案1】:
是的,您确实可以使用Graph.vertex() 方法访问原始图的顶点。
如果g 是您的原始图,u 是过滤后的图,您可以这样做:
for e in u.edges():
v = e.source()
v_orig = g.vertex(v) # corresponding vertex in unfiltered graph
for w in v_orig.out_neighbors():
print(w) # neighbors in the unfiltered graph