使用PyQt5和matplotlib版本'3.0.2'
如果您想添加一些按钮,只需按照由类NavigationToolbar2()提供的文档进行操作,该类在从matplotlib.backends.backend_qt5agg导入的NavigationToolbar2QT()中初始化:
所以,如之前所述,您需要重新定义您的类(您也可以在下面看到当前可用的预定义按钮)。在我的情况下,我想要删除两个按钮(“保存”和“子图”,我已经注释掉了),因此代码如下:
class NavigationToolbar2QT(NavigationToolbar2QT):
NavigationToolbar2QT.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'),
(None, None, None, None),
)
调用NavigationToolbar2QT(在我的情况下仍然如此):
figure = plt.figure()
canvas = FigureCanvas(figure)
toolbar = NavigationToolbar2QT(canvas, self)