python - 无向图在 igraph-python 中被视为有向图

标签 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() 

但得到了相同的结果。

我错过了什么吗?

最佳答案

当您使用当前顶点作为“源”或“目标”时,您可能会获得不同的边集。看起来 igraph 正在为无向网络的顶点随机分配“源”和“目标”角色,但它知道网络是无向的。即使您从头开始生成无向网络,当您将某个顶点设置为源或目标时,连接到该顶点的边集也会有所不同。如果您想获取与顶点 i 相关的边(id)列表,请使用以下内容

g.incident(i)

关于python - 无向图在 igraph-python 中被视为有向图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33554420/

相关文章:

python - 使用替换链更新 pandas 列名称无法正常工作

python - HyperlinkedModelSerializer 在 django rest 框架中使用 auth.User 抛出 ImproperlyConfigured 错误

r - 从 igraph 中的图形中删除未连接的短路径

python - 将图转换为出度 1(额外的零权重边除外)

python - 如何在python中重新启动随机游走

python - 如何将 ubuntu 降级到 python 3.6?

python - 尝试构建简单的文件 uploader Facebook 应用程序

将马赛克图表示为 TreeMap

python - 将一个 df 的一列连接到另一个 df 的所有列

r - 在 R 中如何从 igraph 中删除小社区