将networkx图转换为igraph图时遇到问题

时间:2019-12-08 14:53:41

标签: python networkx igraph

我希望拍摄在networkx中创建的图形G,并将其转换为igraph g,以与leidenalg社区检测程序包一起使用。这曾经为我工作,但现在我遇到了问题。

在运行Catalina OSX的Mac上的Jupyter笔记本中使用Python 3。 Python-igraph版本为0.7.1.post7。

import numpy as np
import networkx as nx
import igraph as ig
A=np.matrix([[0,7,7,0,0],[7,0,6,0,0],[7,6,0,2,1],[0,0,2,0,4],[0,0,1,4,0]])
G=nx.from_numpy_matrix(A)
nx.write_graphml(G,'graph.graphml')
g = ig.read('graph.graphml',format="graphml")

错误消息显示“模块'igraph'没有属性'read'” 用

替换最后一行
g=ig.Read_GraphML('graph.graphml')

不能消除错误消息。

由于某些原因,这在Spyder和Python 3.7中确实有效

1 个答案:

答案 0 :(得分:1)

我的猜测是您在virtualenv中安装了错误的软件包。

有2个库:

  1. 图形(已安装pip install igraph
  2. python-igraph (已安装brew install igraph && pip install python-igraph)。这是包含read方法的方法。

两者都可以称为import igraph

尝试运行pip freeze来检查您的环境中是否安装了正确的软件包。