我正在将Python-igraph库与Python 3配合使用。我正在尝试编写一种社区检测算法,该算法涉及使用linegraph()函数将图形转换为其线图。
原始图中的每个边都有一些属性,我希望将它们复制为线图中的顶点属性,但是目前还不是这种情况。
有人知道我该怎么做吗?
我尝试过的事情:
# Setting attributes
for edge in originalGraph.es:
edge['name'] = "".join(str(edge.tuple))
linegraph = originalGraph.linegraph()
# Testing
print(orginalGraph.es[0].attributes())
print(linegraph.vs[0].attributes())
打印出:
{'name': '(1, 7)'}
{}
如您所见,“名称”属性正确地与原始图形的边缘相关联,但与线形图的顶点无关。
我可能必须编写自己的函数才能转换为线图,但是我不想这样做。