我有一个非常简单的代码,但最后我发现了无法解决或找不到任何解决方案的问题。
我不能画情节。我得到的只是错误AttributeError:'numpy.float64'对象没有属性'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()
我照顾文档,但什么也没找到,谷歌也帮不了我。
python大神给出的解决方案
您稍后在代码中意外地通过为pylab
分配其他内容来覆盖p
模块。您可以通过仅导入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()