如何禁用 Matplotlib 中的键盘快捷键?

问题描述 投票:0回答:2

我正在 matplotlib 中处理一些事件。特别是“key_press_event”。但预定义的键盘快捷键妨碍了我。有办法关掉这些吗?

他们说我可以使用“matplotlibrc (#keymap.*)”来覆盖按键。但我不明白他们指的是什么,也没有找到任何进一步的解释。

python matplotlib
2个回答
26
投票

您可以在

plt.rcParams
字典中修改。例如,要禁用“保存图形”按钮的“s”键盘快捷键:

>>> plt.rcParams['keymap.save']
['s', 'ctrl+s']
>>> plt.rcParams['keymap.save'].remove('s')

如果您希望更改全局/永久应用,请在

matplotlibrc
文件中进行编辑并重新启动 Python 解释器。您可以通过调用辅助函数来找到配置文件在系统上的位置:

>>> matplotlib.matplotlib_fname()
'/Users/wim/.matplotlib/matplotlibrc'

注意:在旧版本的 matplotlib 中,键盘映射绑定是字符串而不是列表。如果您卡在旧版本上,您可以将该值设置为空字符串,而不是调用删除。


3
投票

请参阅 https://matplotlib.org/users/customizing.html 了解可与上述方法一起使用的所有键盘映射关键字,plt.rcParams['keymap.*']


除了参考链接之外,评论还要求我提供答案的基本部分。然而,在这种特定情况下,所有 plt.rcParams 的列表包含 316 个项目,将其包含在此处是愚蠢的。 所以我能做的就是给你更新的官方Matplotlib链接——我上面提供的链接重定向到——如果你需要的话,你可以在哪里找到它们:https://matplotlib.org/stable/api/ matplotlib_configuration_api.html

(它仍然是一个可能会在一段时间后更改的链接,但由于它是官方的,因此您总能找到到达相关列表的方式。🙂)

© www.soinside.com 2019 - 2024. All rights reserved.