我的问题很简单,但是我真的无法在网上找到它!
我有一个加权有向图的邻接矩阵,如:
1 2 3 4
5 2 4 6
3 5 6 2
4 6 7 8
第i列和第j行的元素显示了节点i和j之间的链接的权重。
如何读取此文件(可以是txt或csv格式)作为在igraph中使用的矩阵? 我想找到群集的数量。所以,我想这样: g.community_multilevel() 如果g是我的矩阵。
答案 0 :(得分:1)
我假设您已经在计算机上安装了igraph和cairo。如果不是,并且您使用的是Mac,请参见this post。您要使用的方法是Read_Adjacency()
,该方法已记录在here中。要阅读您的图表,我使用了以下python代码:
import igraph
from igraph import *
g=Graph.Read_Adjacency(f="soAdj",sep=None, comment_char='#',attribute="weighted")
plot(g, "readAdjSoExample.pdf",layout="circle")
,您可以访问权重以通过g.es[3]
这样的命令来验证它们是否正确读取:
igraph.Edge(<igraph.Graph object at 0x10f614bf0>, 3, {'weighted': 4.0})
OP提到了文本vs csv格式,不同之处在于您将分隔符作为字符串包含在方法的sep=
参数中。