NameError: x is not defined
我想制作一个简单的绘图函数
1 2 3 4 5 6 | def plot2d(xmin,xmax,func): x=np.linspace(xmin, xmax, num=50) plt.plot(x,func) plt.show() |
我们的想法是用x输入变量func,就像x**2。
编辑*错误如下:
1 2 3 4 | >>> plot2d(-10,10, x**2) Traceback (most recent call last): File"<stdin>", line 1, in <module> NameError: name 'x' is not defined |
号
编辑**我认为问题在于,当您第一次调用函数时,还没有创建linspace x。这起作用:
1 2 3 4 5 6 7 8 9 | import numpy as np import matplotlib.pyplot as plt def plot2d(xmin,xmax): x=np.linspace(xmin, xmax, num=50) func=input('Define fucntion: ') plt.plot(x,func) plt.show() |
您可能想了解
1 2 3 4 5 6 7 8 9 10 11 12 | import numpy as np import matplotlib.pyplot as plt def plot2d(xmin,xmax,func): x=np.linspace(xmin, xmax, num=50) plt.plot(x,func(x)) #func -> func(x) plt.show() #pass a unnamed lambda as a param: plot2d(-10, 10, lambda x: x*x) |
号
1 2 3 4 5 6 7 8 9 10 11 12 13 | from pylab import * def plot2d(xmin, xmax, func): x=np.linspace(xmin,xmax,num=50) y=func(x) plot(x,y) show() def func(x): y=x**2 return y plot2d(0,10,func) |
结果:
。