这是你的方法,尽可能少的改变使它工作(因为很明显你是一个初学者,这是一个学习练习).我所做的改变是:
>将plt.figure和其他绘图语句移出循环.循环现在为您提供要绘制的数据,然后在循环结束后绘制它.
>将x ^ 2更改为x ** 2.
>在主循环控制语句中更改为for.
>注释掉一些没有做任何事情的行.它们都有相同的错误源(或非实用的,真的):在for循环中,x在循环控制行中设置,然后y直接计算,因此您不需要给它们初始值或增量x,虽然你不得不为while循环执行这些步骤.
这里的代码:
import matplotlib.pyplot as plt
a=[]
b=[]
# y=0
# x=-50
for x in range(-50,50,1):
y=x**2+2*x+2
a.append(x)
b.append(y)
#x= x+1
fig= plt.figure()
axes=fig.add_subplot(111)
axes.plot(a,b)
plt.show()