繁体   English   中英

Plot 带有 numpy 数组错误的 NetworkX 图形

[英]Plot NetworkX Graph with numpy array error

我将邻接矩阵作为 numpy 数组,并希望将它作为使用 NetworkX 的简单无向图 plot,但我一直遇到此错误: AttributeError: module 'scipy.sparse' has no attribute 'coo_array'

我正在关注这个: Plot 来自邻接矩阵的 NetworkX Graph in CSV 文件特定的答案并且无法让它工作。 唯一的区别是我的邻接矩阵相当大,大约有 30000 列

这是我的图形绘制代码:

G = nx.from_numpy_matrix(np.matrix(adj_mtx_np), create_using=nx.DiGraph)
nx.draw(G)
plt.show()

我的scipy版本是1.8.0

将networkx降级到2.6.3,它为我解决了这个问题。

升级scipynetworkx ,它对我有用。

pip install --upgrade scipy networkx

我查看了生成该错误的 scipy 文件(“convert_matrix.py”)第 921 行:A = sp.sparse.coo_array((d, (r, c)), shape=(nlen, nlen), dtype=dtype )。

您需要将“coo_array”切换为“coo_matrix”。

所以它应该看起来像: A = sp.sparse.coo_matrix((d, (r, c)), shape=(nlen, nlen), dtype=dtype)

这对我的项目来说足够好

我遇到了同样的问题,我用

pip install scipy==1.8.1

在 Windows 系统上,它工作。 我想这可能是因为以前版本的“scipy.sparse”没有“coo_array”。

我尝试了第一个答案中的方法,但它们不起作用。 我还尝试使用 conda 将 scipy 更新到 1.8.1 无济于事。

我也在 windows 10 中使用 vs 代码。我遇到了同样的问题。 然后我尝试分别升级 scipy 和网络,但它们对我不起作用。 然后我尝试使用以下代码升级两者。 那么这对我有用。

!pip install --upgrade scipy networkx

在cmd中,这段代码应该是这样的。 尝试以管理员身份打开。

pip install --upgrade scipy networkx

这些版本的 newtorkx 和 scipy 为我解决了错误

%pip install .networkx<2.7'

%pip install 'scipy>=1.8'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM