Matplotlib嵌套事件

2024-10-01 02:28:38 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我正在用python重新制作一个GUI,用于以前在Matlab中完成的一些数据分析。我需要的一个功能是能够查看特定的数据绘图,并选择绘图的哪一部分是背景。我正在使用matplotlib进行打印,并尝试使用鼠标和键盘事件来处理此功能

那么,我的问题是,我如何“激活”一个事件,在我的例子中,使用鼠标选择背景数据,使用击键事件通知程序查找鼠标输入

要确定我想要什么:

按“ctrl+b”键进入背景选择模式 然后: 单击一次以获取最左侧的x数据 再次单击以获取最右侧的x数据 禁用单击输入

有什么建议吗

作为参考,这里是我的一点尝试;“ctrl+b”部分工作,然后在第一次单击后冻结

def background(event):
    print('button=%s, x=%d, y=%d, xdata=%f, ydata=%f' % (event.key, event.x, event.y, event.xdata, event.ydata))
    if event.key == "ctrl+b":
        print("You clicked ctrl+b")
        xbounds = []
        while len(xbounds) < 2:
            cid = fig.canvas.mpl_connect('button_press_event', onclick)

def onclick(event):
    xbounds.append(event.x)

Tags: 数据key功能event绘图def事件button