'numpy.float64'对象没有属性'plot'

wie*_*nYo 2 python plot numpy matplotlib

我有一个非常简单的代码,但最后我发现了我无法解决的问题或找到任何解决方案.我不能画情节.我得到的只是错误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()
Run Code Online (Sandbox Code Playgroud)

我照看文档但我什么都没找到,谷歌也帮不了我.

Ffi*_*ydd 5

pylab稍后在代码中意外地覆盖了模块,方法是指定其他内容p.pylab例如,您可以通过导入和使用来避免这种情况pylab.plot.

您还有一些缩进问题,请记住缩进在Python中很重要.

使用matplotlib.pyplot一般建议,而不是使用pylab.因此我修改下面的代码使用pyplotpylab.我还删除了一些不需要的代码部分,并整理了一下.

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()
Run Code Online (Sandbox Code Playgroud)

  • pylab太普遍了,不能实际弃用,所以目前的计划只是假装它不存在;) (2认同)