Closed
Description
Bug report
Bug summary
NavigationToolbar2Tk behave unexpected when using it in with Tkinter Canvas(see attached gif for more details). When scroll a little bit my Canvas then tools like zoom, move (e.t.c) works like canvas area still locate on the previous position.
import tkinter
from tkinter import *
from matplotlib.backends.backend_tkagg import (
FigureCanvasTkAgg, NavigationToolbar2Tk)
from matplotlib.backend_bases import key_press_handler
from matplotlib.figure import Figure
import numpy as np
root = tkinter.Tk()
root.wm_title("Embedding in Tk")
fig = Figure(figsize=(5, 40), dpi=100)
t = np.arange(0, 3, .01)
fig.add_subplot(111).plot(t, 2 * np.sin(2 * np.pi * t))
canvas = FigureCanvasTkAgg(fig, master=root) # A tk.DrawingArea.
canvas.draw()
scroll_y = Scrollbar(canvas.get_tk_widget(),orient="vertical", command=canvas.get_tk_widget().yview)
scroll_y.grid(row=0, column=1, sticky="ns")
canvas.get_tk_widget().configure(yscrollcommand=scroll_y.set, scrollregion=canvas.get_tk_widget().bbox("all"))
toolbar = NavigationToolbar2Tk(canvas, root)
toolbar.update()
canvas.get_tk_widget().pack(side=tkinter.TOP, fill=tkinter.BOTH, expand=1)
tkinter.mainloop()
Actual outcome
``
Expected outcome
NavigationToolbar2Tk update its action area with new Scrollbar status
Matplotlib version
3.1.3
- Operating system: Windows 10
- Matplotlib version: 3.1.3
- Matplotlib backend (
print(matplotlib.get_backend())
): TkAgg - Python version: 3.7
- Other libraries: Tkinter version 8.6
All packages installed using updated pip