PyQt5とmatplotlibバージョン「3.0.2」の使用
いくつかのボタンを追加したい場合は、matplotlib.backends.backend_qt5aggからインポートされたNavigationToolbar2QT()で初期化されたクラスNavigationToolbar2()によって与えられたドキュメントに従ってください:
# list of toolitems to add to the toolbar, format is:
# (
# text, # the text of the button (often not visible to users)
# tooltip_text, # the tooltip shown on hover (where possible)
# image_file, # name of the image for the button (without the extension)
# name_of_method, # name of the method in NavigationToolbar2 to call
# )
したがって、前に述べたようにクラスを再定義する必要があります(ATMで使用可能な事前定義されたボタンも下に表示されます)。私の場合、2つのボタン(コメントした「保存」と「サブプロット」)を削除したかったので、次のようになりました。
class NavigationToolbar2QT(NavigationToolbar2QT):
# only display the buttons we need
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'),
# ('Subplots', 'Configure subplots', 'subplots', 'configure_subplots'),
(None, None, None, None),
# ('Save', 'Save the figure', 'filesave', 'save_figure'),
)
そして、NavigationToolbar2QTを呼び出します(私の場合はまだ):
figure = plt.figure()
canvas = FigureCanvas(figure)
toolbar = NavigationToolbar2QT(canvas, self)