我想通过使用Igraph找到共享相同边属性的所有顶点(顶点id)(因此可能有大量这样的顶点)。当我想找到“道路”上的所有“村庄”(我的图形的顶点)时,这将非常方便,比如“route69”(一个边属性)。在
在Igraph中有没有一种简单的方法可以做到这一点?也许我把它复杂化了。在
实际上我需要的是相反的:g.es.select(_within=g.vs[2:5])
或者
>>> men = g.vs.select(gender="m")
>>> women = g.vs.select(gender="f")
>>> g.es.select(_between=(men, women))
因为我知道边属性,但不知道顶点。在
我将选择边并希望它将返回所有相关的顶点。在
也许我只是现在累了,但我找不到解决这个问题的办法。如果有人用正确的方法帮助我,我很感激。或者我在tutorial和文档中遗漏了一个方法。闻起来有一种非常简单的方法。提前感谢您的任何建议!
您应该能够执行以下操作:
这假设'villages'和'Route69'存储在顶点和边上名为'name'的属性中。。。适当调整以匹配您的属性。在
当然-如果你想的话,你可以把这些都压缩成一行:
^{pr2}$不确定这是否是最有效的方法(虽然我在文档中没有看到任何捷径),但它应该能让你得到你想要的。在
首先,选择管线69上的所有边:
然后迭代选定的边并收集顶点的端点:
^{pr2}$这将为您提供一个集合,其中包含至少一条边上以名称
Route69
入射的所有顶点的顶点id。如果需要VertexSeq,只需执行以下操作:相关问题 更多 >
编程相关推荐