Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';numpy.float64';对象没有属性';绘图';_Python_Numpy_Matplotlib_Plot - Fatal编程技术网

Python ';numpy.float64';对象没有属性';绘图';

Python ';numpy.float64';对象没有属性';绘图';,python,numpy,matplotlib,plot,Python,Numpy,Matplotlib,Plot,我有一个非常简单的代码,但在最后我发现了我无法解决或找到任何解决方案的问题。 我画不出情节。我得到的只是错误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

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

我查看了文档,但什么也没找到,谷歌也帮不了我。

您后来在代码中意外地覆盖了
pylab
模块,并为
p
分配了其他内容。您可以通过导入
pylab
并使用例如
pylab.plot
来避免这种情况

还存在一些缩进问题,记住缩进在Python中很重要

使用
matplotlib.pyplot
通常是推荐的,而不是使用
pylab
,因此我修改了下面的代码,在
pylab
上使用
pyplot
。我还删除了代码中一些不需要的部分,并对其进行了整理

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

当然我现在觉得自己很愚蠢。谢谢你的帮助。用比如说
myp
替换他的对象
p
而不是处理调用
pylab
而不是
p
?你不应该导入
pylab
使用
pyplot
互联网,这不是更干净(更安全)吗?你能在回答中更改代码吗(这是两行)?最好不要让答案显示周围最糟糕的做法(我可以改变它,但这似乎很粗鲁)。pylab太普遍了,所以目前的计划只是假装它不存在;)