在igraph-python中按照指示处理的无向图

时间:2015-11-05 20:43:39

标签: python igraph

我有一个通过阅读GML文件创建的图表。我试图找到触及节点N的所有边。我的代码如下:

self.simGraph = Graph.Read_GML(file_name)
node = self.simGraph.vs.find(title=title)
edge_set = self.simGraph.es.select(_source=node.index)

我注意到,在调试时,edge_set通常只包含一条边,但是当我将_source更改为_target时,我会得到一组不同的边。我尝试添加

self.simGraph = self.simGraph.as_undirected() 

但结果相同。

我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

当您使用当前顶点作为' source'时,您可能会得到不同的边集。或者'目标'。好像igraph是随机分配的来源'和'目标'角色到无向网络的顶点,但它知道网络是无向的。即使您从头开始生成无向网络,当您将该顶点设置为源或目标时,连接到顶点的边集也会不同。如果您想获得在顶点i上发生的边缘列表(id' s),请使用以下

g.incident(i)