'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()