【数学建模之Python】4.AttributeError: module ‘matplotlib.cbook‘ has no attribute ‘is_numlike‘ in Networkx

你们的每个赞都能让我开心好几天✿✿ヽ(°▽°)ノ✿

报错:AttributeError: module ‘matplotlib.cbook’ has no attribute ‘is_numlike’ in Networkx
这个报错是我在研究图论模型时出现的,在stackoverflow上发现是因为版本不匹配导致的
解决方法:同时升级matplotlib和networkx

在Anaconda Prompt中输入
pip install --upgrade networkx
pip install --upgrade matplotlib
如果升级不行的话尝试下降级

我个人的版本是:
python 3.7.1
matplotlib 3.4.2
networkx 2.6.1

#程序文件Pex10_2_1.py
import numpy as np
import networkx as nx
import pylab as plt
a=np.zeros((5,5))
a[0,1:5]=[9, 2, 4, 7]; a[1,2:4]=[3,4]
a[2,[3,4]]=[8, 4]; #输入邻接矩阵的上三角元素
a[3,4]=6; print(a); np.savetxt("Pdata10_2.txt",a) #保存邻接矩阵供以后使用
i,j=np.nonzero(a)  #提取顶点的编号
w=a[i,j]  #提出a中的非零元素
edges=list(zip(i,j,w))
G=nx.Graph()
G.add_weighted_edges_from(edges)
key=range(5); s=[str(i+1) for i in range(5)]
s=dict(zip(key,s))  #构造用于顶点标注的字符字典
plt.rc('font',size=18)
plt.subplot(121); nx.draw(G,font_weight='bold',labels=s)
plt.subplot(122); pos=nx.shell_layout(G)  #布局设置
nx.draw_networkx(G,pos,node_size=260,labels=s)
w = nx.get_edge_attributes(G,'weight')
nx.draw_networkx_edge_labels(G,pos,font_size=12,edge_labels=w) #标注权重
plt.savefig("figure10_2.png", dpi=500); plt.show()

这是我个人研究时的代码,再以上改正后能够正常运行,不报错了
你们的每个赞都能让我开心好几天✿✿ヽ(°▽°)ノ✿


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部