gpt4 book ai didi

python - searchsorted - 全局名称 "x"未定义

转载 作者:太空宇宙 更新时间:2023-11-03 14:13:02 24 4
gpt4 key购买 nike

我正在尝试使用名为 searchsortednumpy 方法,但我无法使其工作。

这是代码:

class Object(QMainWindow):
def __init__(self):
QMainWindow.__init(self)

self.figure_canvas = FigureCanvas(Figure())
self.axes = self.figure_canvas.add_subplot(111)

x = np.arange(0.0, 5.0, 0.01)
y = np.sin(2*np.pi*x) + 0.5*np.random.randn(len(x))
self.axes.plot(x, y, "-", picker = 5)
self.axes.set_ylim(-2, 2)

def onselect(xmin, xmax):
indmin, indmax = np.searchsorted(x, (xmin, xmax)

并且,当我尝试构建此代码时,我收到一条错误消息:

NameError: 全局名称 'x' 未定义

问题是什么?我定义了我想使用的 x,但它说它不是。

希望你能帮助我。

最佳答案

您只在__init__() 函数的范围内定义了局部变量x,因此无法在该范围之外访问它。

如果您使用 self.xx 设置为实例属性,您将能够在 onselect() 中访问它类方法,同样通过 self.x:

class Object(QMainWindow):
def __init__(self):
QMainWindow.__init(self)

self.figure_canvas = FigureCanvas(Figure())
self.axes = self.figure_canvas.add_subplot(111)

self.x = np.arange(0.0, 5.0, 0.01)
y = np.sin(2*np.pi*x) + 0.5*np.random.randn(len(x))
self.axes.plot(x, y, "-", picker = 5)
self.axes.set_ylim(-2, 2)

def onselect(self, xmin, xmax):
indmin, indmax = np.searchsorted(self.x, (xmin, xmax)

关于python - searchsorted - 全局名称 "x"未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35734552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com