簡體   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