[英]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,它為我解決了這個問題。
升級scipy
和networkx
,它對我有用。
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.