如何使用 PyPlot 消除鼠标悬停坐标?

发布于 2024-11-26 03:11:37 字数 174 浏览 1 评论 0原文

Hej,我对编程还很陌生。我需要将一些 PyPlot 图形包含到 Tkinter GUI 上(使用 Python 2.6)。到目前为止一切顺利,工作顺利,唯一烦人的是工具栏中自动应用了鼠标悬停效果,这会产生鼠标位置的精确坐标。我怎样才能抑制这个功能?我只找到了有关如何格式化该输出的食谱,但我想完全摆脱它。

非常感谢!

Hej, I'm fairly new to programming. I need to include some PyPlot Figures onto a Tkinter GUI (using Python 2.6). So far so good, made that work, the only annoying thing is that a mouse over effect is automatically applied in the toolbar, which yields exact coordinates of the mouse position. How can I suppress that function? I only found cookbooks on how to format that output, but I want to completely get rid of it.

Thanks a bunch!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

转身以后 2024-12-03 03:11:37

您是否尝试过将 'break' 从侦听器传递到应用程序?

def ignore(event):
    return "break"
toolbar.bind("<Enter>", ignore)

更多详细信息请参见此处

Have you tried passing 'break' to the application from the listener?

def ignore(event):
    return "break"
toolbar.bind("<Enter>", ignore)

More details here.

万人眼中万个我 2024-12-03 03:11:37

我最终为将来遇到类似问题的任何人找到了解决方案:您需要编辑 matplotlib 的 backend_bases 模块中的函数:mouse_move。这部分负责:

if event.inaxes and event.inaxes.get_navigate():

        try: s = event.inaxes.format_coord(event.xdata, event.ydata)
        except ValueError: pass
        except OverflowError: pass
        else:
            if len(self.mode):
                self.set_message('%s, %s' % (self.mode, s))
            else:
                self.set_message(s)
    else: self.set_message(self.mode)

如果你想完全摆脱坐标,只需擦除或注释它。也可能会影响那里的格式,但没有尝试。

雅各布

I eventually found the solution for anyone that faces similar problems in the future: you need to edit the function: mouse_move in the module backend_bases of matplotlib. This part is responsible:

if event.inaxes and event.inaxes.get_navigate():

        try: s = event.inaxes.format_coord(event.xdata, event.ydata)
        except ValueError: pass
        except OverflowError: pass
        else:
            if len(self.mode):
                self.set_message('%s, %s' % (self.mode, s))
            else:
                self.set_message(s)
    else: self.set_message(self.mode)

Just erase or comment it if you want to get rid of the coordinates completely. Might be possible to influence the format there too, didn't try that.

Jakob

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文