在图形工具库中查找已过滤图形的所有未过滤顶点的有效方法?
efficient way of finding all unfiltered vertices of a filtered graph, in graph-tool library?
我正在使用图表工具在图表上分析疾病传播模型。
我想要一个过滤图,它只包含被感染的顶点,这些顶点将感染它们的邻居。
问题是当我过滤受感染的顶点时,其余数据丢失,我知道 GraphView 子类,但问题是将原始图存储在某处对我没有帮助,当我' m 在过滤图的边上迭代,因为我没有访问顶点的等价物,也不能感染它的邻居。 (改变他们的属性。)
有没有有效的方法来帮助我完成任务?
谢谢。
是的,您可以使用 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
我正在使用图表工具在图表上分析疾病传播模型。 我想要一个过滤图,它只包含被感染的顶点,这些顶点将感染它们的邻居。
问题是当我过滤受感染的顶点时,其余数据丢失,我知道 GraphView 子类,但问题是将原始图存储在某处对我没有帮助,当我' m 在过滤图的边上迭代,因为我没有访问顶点的等价物,也不能感染它的邻居。 (改变他们的属性。)
有没有有效的方法来帮助我完成任务?
谢谢。
是的,您可以使用 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