我正在尝试使用名为<script>
window.CQURLInfo = window.CQURLInfo || {};
CQURLInfo.contextPath = "";
</script>
的{{1}}方法,但我无法使其正常工作。
这是代码:
numpy
并且,当我尝试构建此代码时,我收到一条错误消息:
searchsorted
有什么问题?我定义了我想要使用的x,但它说它不是。
希望你能帮助我。
答案 0 :(得分:2)
您在x
方法中定义了__init__
。您的onselect
未定义x
如果要在该实例的其他方法中使用x
,可以执行
self.x = np.arange(0.0, 5.0, 0.01) # this is in __init__
然后在onselect
中,您可以使用self.x
答案 1 :(得分:2)
您只在x
函数范围内定义局部变量__init__()
,因此无法在此范围之外访问它。
如果您使用x
将self.x
设置为实例属性,则可以通过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)
答案 2 :(得分:1)
在onselect()函数中,没有声明x值
试试这个:
def __init__(self):
...
self.x = np.arange(0.0, 5.0, 0.01)
def onselect(xmin, xmax):
indmin, indmax = np.searchsorted(self.x, (xmin, xmax)