如何在没有全局变量的情况下存储单击位置?Matplotlib/Python

如何在没有全局变量的情况下存储单击位置?Matplotlib/Python,python,matplotlib,Python,Matplotlib,我试图通过单击屏幕来停止随机绘图,但我看到的示例使用全局变量,我不想使用它们。那我该怎么办 这是到目前为止我的代码。onclick函数是我从Matplotlib文档中获得的一个想法,但他们使用它在控制台上打印信息,我希望将其存储在一个变量中,然后返回它(例如,在一个名为“get_mouse”的变量中,然后断开while循环) 警察局:我知道有些犯罪,对不起,我是初学者 import matplotlib.pyplot as plt import numpy as np def onclick(

我试图通过单击屏幕来停止随机绘图,但我看到的示例使用全局变量,我不想使用它们。那我该怎么办

这是到目前为止我的代码。onclick函数是我从Matplotlib文档中获得的一个想法,但他们使用它在控制台上打印信息,我希望将其存储在一个变量中,然后返回它(例如,在一个名为“get_mouse”的变量中,然后断开while循环)

警察局:我知道有些犯罪,对不起,我是初学者

import matplotlib.pyplot as plt
import numpy as np

def onclick(event):
    if event.dblclick :
        print('help me')

plt.ion()

B=np.random.random((1,5))

fig = plt.figure()
ax = plt.axes(xlim=(-2,2),ylim=(-2,2))
line, = ax.plot([],[],'bo', ms=4)
cid = fig.canvas.mpl_connect('button_press_event', onclick)


while True:
    S=np.random.random((1,5))
    line.set_data(B+S,B-S)
    fig.canvas.draw()
    fig.canvas.flush_events()
    plt.pause(0.5)
    if get_mouse == True:
        break

将整个内容包装在一个类中,并让
get\u mouse
成为该类的成员,然后您就可以从
onclick
内部对其进行修改,谢谢!我是这样做的:
class clk1:get_mouse=False def\uu init\uuuu(self):pass def onclick(self,event):if event.dblclick:self.get_mouse=True def click(self):return self.get_mouse
有更好的方法吗?这样可以吗?我会这样做的,太好了!非常感谢。