AttributeError: 'NoneType' object has no attribute 'sqrt'
程序员文章站
2022-04-14 09:29:41
...
Traceback (most recent call last):
File "C:\Users\appleyuchi\Desktop\todolist\LDA\datagenerate.py", line 30, in <module>
plt.scatter(X_new[:, 0], X_new[:, 1],marker='o',c=y)
File "D:\software\python27\lib\site-packages\matplotlib\pyplot.py", line 3434, in scatter
edgecolors=edgecolors, data=data, **kwargs)
File "D:\software\python27\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py", line 2352, in scatter
patches = Axes.scatter(self, xs, ys, s=s, c=c, *args, **kwargs)
File "D:\software\python27\lib\site-packages\matplotlib\__init__.py", line 1898, in inner
return func(ax, *args, **kwargs)
File "D:\software\python27\lib\site-packages\matplotlib\axes\_axes.py", line 4034, in scatter
alpha=alpha
File "D:\software\python27\lib\site-packages\matplotlib\collections.py", line 907, in __init__
self.set_sizes(sizes)
File "D:\software\python27\lib\site-packages\matplotlib\collections.py", line 880, in set_sizes
scale = np.sqrt(self._sizes) * dpi / 72.0 * self._factor
File "C:\Users\appleyuchi\Desktop\todolist\LDA\datagenerate.py", line 30, in <module>
plt.scatter(X_new[:, 0], X_new[:, 1],marker='o',c=y)
File "D:\software\python27\lib\site-packages\matplotlib\pyplot.py", line 3434, in scatter
edgecolors=edgecolors, data=data, **kwargs)
File "D:\software\python27\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py", line 2352, in scatter
patches = Axes.scatter(self, xs, ys, s=s, c=c, *args, **kwargs)
File "D:\software\python27\lib\site-packages\matplotlib\__init__.py", line 1898, in inner
return func(ax, *args, **kwargs)
File "D:\software\python27\lib\site-packages\matplotlib\axes\_axes.py", line 4034, in scatter
alpha=alpha
File "D:\software\python27\lib\site-packages\matplotlib\collections.py", line 907, in __init__
self.set_sizes(sizes)
File "D:\software\python27\lib\site-packages\matplotlib\collections.py", line 880, in set_sizes
scale = np.sqrt(self._sizes) * dpi / 72.0 * self._factor
AttributeError: 'NoneType' object has no attribute 'sqrt'
代码来自:https://blog.csdn.net/lhz76ttw1u/article/details/60768981
错误重现的代码:
#-*- encoding:utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import numpy as np
np.set_printoptions(threshold=np.inf)
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# %matplotlib inline
from sklearn.datasets.samples_generator import make_classification
X, y = make_classification(n_samples=1000, n_features=3, n_redundant=0, n_classes=3, n_informative=2,
n_clusters_per_class=1,class_sep =0.5, random_state =10)
fig = plt.figure()
ax = Axes3D(fig, rect=[0, 0, 1, 1], elev=30, azim=20)
plt.scatter(X[:, 0], X[:, 1], X[:, 2],marker='o',c=y)
print"type(X)=",type(X)
# plt.show()#弹出一个绘制好的空间图形
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
pca.fit(X)
print pca.explained_variance_ratio_
print pca.explained_variance_
X_new = pca.transform(X)
print"-"*30
print"type(X_new)=",type(X_new)
print "X_new\n=",X_new
plt.scatter(X_new[:, 0], X_new[:, 1],marker='o',c=y)
plt.show()
解决方案,注释掉Axes3D那句话,注释后完整代码如下:#-*- encoding:utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import numpy as np
np.set_printoptions(threshold=np.inf)
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# %matplotlib inline
from sklearn.datasets.samples_generator import make_classification
X, y = make_classification(n_samples=1000, n_features=3, n_redundant=0, n_classes=3, n_informative=2,
n_clusters_per_class=1,class_sep =0.5, random_state =10)
fig = plt.figure()
# ax = Axes3D(fig, rect=[0, 0, 1, 1], elev=30, azim=20)
plt.scatter(X[:, 0], X[:, 1], X[:, 2],marker='o',c=y)
print"type(X)=",type(X)
# plt.show()#弹出一个绘制好的空间图形
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
pca.fit(X)
print pca.explained_variance_ratio_
print pca.explained_variance_
X_new = pca.transform(X)
print"-"*30
print"type(X_new)=",type(X_new)
print "X_new\n=",X_new
plt.scatter(X_new[:, 0], X_new[:, 1],marker='o',c=y)
plt.show()
运行结果:
推荐阅读
-
python编程排除163邮箱发送邮件报错(AttributeError: ‘tuple‘ object has no attribute ‘encode‘)
-
python编程排除163邮箱发送邮件报错(AttributeError: ‘tuple‘ object has no attribute ‘encode‘)
-
AttributeError: module ‘community‘ has no attribute ‘best_partition‘ 问题解决方法
-
【python】解决AttributeError: module ‘scipy.misc‘ has no attribute ‘toimage‘问题
-
【Tensorflow】Linux下Tensorflow报错:AttributeError: module ‘tensorflow‘ has no attribute ‘xxxx‘
-
AttributeError: 'module' object has no attribute 'main'
-
AttributeError: module 'sklearn' has no attribute 'linear_model'
-
解决Keras报错AttributeError: 'NoneType' object has no attribute 'inbound_nodes'
-
解决'DataFrame' object has no attribute 'sort'
-
‘MyObject‘ object has no attribute ‘***‘