Python ';numpy.float64';对象没有属性';绘图';
我有一个非常简单的代码,但在最后我发现了我无法解决或找到任何解决方案的问题。 我画不出情节。我得到的只是错误AttributeError:'numpy.float64'对象没有属性'plot'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
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太普遍了,所以目前的计划只是假装它不存在;)