如何从Matplotlib中删除工具栏按钮

如何从Matplotlib中删除工具栏按钮,第1张

如何从Matplotlib中删除工具栏按钮

您可以通过在创建绘图对象之前添加以下代码行来实现:

import matplotlib as mplmpl.rcParams['toolbar'] = 'None'

如果要有选择地删除一些按钮,则需要重新定义

toolitems
变量

from matplotlib import backend_bases# mpl.rcParams['toolbar'] = 'None'backend_bases.NavigationToolbar2.toolitems = (        ('Home', 'Reset original view', 'home', 'home'),        ('Back', 'Back to  previous view', 'back', 'back'),        ('Forward', 'Forward to next view', 'forward', 'forward'),        (None, None, None, None),        ('Zoom', 'Zoom to rectangle', 'zoom_to_rect', 'zoom'),        (None, None, None, None),        ('Save', 'Save the figure', 'filesave', 'save_figure'),      )

我从

mpl.backend_bases.NavigationToolbar2.toolitems
通常读取的原始变量中删除了两行:

toolitems = (    ('Home', 'Reset original view', 'home', 'home'),    ('Back', 'Back to  previous view', 'back', 'back'),    ('Forward', 'Forward to next view', 'forward', 'forward'),    (None, None, None, None),    ('Pan', 'Pan axes with left mouse, zoom with right', 'move', 'pan'),    ('Zoom', 'Zoom to rectangle', 'zoom_to_rect', 'zoom'),    ('Subplots', 'Configure subplots', 'subplots', 'configure_subplots'),    (None, None, None, None),    ('Save', 'Save the figure', 'filesave', 'save_figure'),  )

编辑

我已经意识到它可以与后端“ TkAgg”一起使用。对于后端“ Qt5Agg”,我们需要在修改之后立即进行一些其他的猴子修补

toolitems
。即:

if matplotlib.get_backend() == 'Qt5Agg':    from matplotlib.backends.backend_qt5 import NavigationToolbar2QT    def _update_buttons_checked(self):        # sync button checkstates to match active mode (patched)        if 'pan' in self._actions: self._actions['pan'].setChecked(self._active == 'PAN')        if 'zoom' in self._actions: self._actions['zoom'].setChecked(self._active == 'ZOOM')    NavigationToolbar2QT._update_buttons_checked = _update_buttons_checked


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5673293.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存