'numpy.float64' 对象没有属性 'plot'
'numpy.float64' object has no attribute 'plot'
我有一个非常简单的代码,但最后我发现了我无法解决或找不到任何解决方案的问题。
我不会画情节。我得到的只是错误 AttributeError: 'numpy.float64' object has no attribute 'plot'
import pylab as p
import numpy as np
import sympy as s
import matplotlib
from random import random
X=np.arange(0,1000)
y=np.random.randint(100,size=1000)
if len(X)==len(y):
print "ok"
else:
print "not ok"
polyfit=np.polyfit(X,y,6)
poly1d=np.poly1d(polyfit)
print poly1d
i=1
my=[]
for i in X:
p=poly1d(i)
my.append(p)
print my
p.plot(X,my)
p.show()
我查看了文档,但一无所获,谷歌也帮不了我。
您稍后在代码中通过将其他内容分配给 p
不小心覆盖了 pylab
模块。您可以通过导入 pylab
并使用例如 pylab.plot
.
来避免这种情况
您还有一些缩进问题,请记住 Python 中的缩进很重要。
通常建议使用 matplotlib.pyplot
而不是使用 pylab
。 因此我修改了下面的代码以使用 pyplot
超过 pylab
。我还删除了一些不需要的代码部分,并进行了整体整理。
import matplotlib.pyplot as plt
import numpy as np
from random import random
X=np.arange(0,1000)
y=np.random.randint(100,size=1000)
if len(X)==len(y):
print("ok")
else:
print("not ok")
polyfit=np.polyfit(X,y,6)
poly1d=np.poly1d(polyfit)
my=[]
for i in X:
p=poly1d(i)
my.append(p)
plt.plot(X,my)
plt.show()
我有一个非常简单的代码,但最后我发现了我无法解决或找不到任何解决方案的问题。 我不会画情节。我得到的只是错误 AttributeError: 'numpy.float64' object has no attribute 'plot'
import pylab as p
import numpy as np
import sympy as s
import matplotlib
from random import random
X=np.arange(0,1000)
y=np.random.randint(100,size=1000)
if len(X)==len(y):
print "ok"
else:
print "not ok"
polyfit=np.polyfit(X,y,6)
poly1d=np.poly1d(polyfit)
print poly1d
i=1
my=[]
for i in X:
p=poly1d(i)
my.append(p)
print my
p.plot(X,my)
p.show()
我查看了文档,但一无所获,谷歌也帮不了我。
您稍后在代码中通过将其他内容分配给 p
不小心覆盖了 pylab
模块。您可以通过导入 pylab
并使用例如 pylab.plot
.
您还有一些缩进问题,请记住 Python 中的缩进很重要。
通常建议使用 matplotlib.pyplot
而不是使用 pylab
。 因此我修改了下面的代码以使用 pyplot
超过 pylab
。我还删除了一些不需要的代码部分,并进行了整体整理。
import matplotlib.pyplot as plt
import numpy as np
from random import random
X=np.arange(0,1000)
y=np.random.randint(100,size=1000)
if len(X)==len(y):
print("ok")
else:
print("not ok")
polyfit=np.polyfit(X,y,6)
poly1d=np.poly1d(polyfit)
my=[]
for i in X:
p=poly1d(i)
my.append(p)
plt.plot(X,my)
plt.show()