from tkinter import Tk
import matplotlib
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
matplotlib.use('TkAgg')
root_win = Tk()
root_win.title('matplotlib in tkinter')
fig = Figure(figsize = (5, 4), dpi = 100)
plot = fig.add_subplot(1, 1, 1)
plot.plot([1, 2, 3])
canvas = FigureCanvasTkAgg(fig, master = root_win)
canvas.draw()
canvas.get_tk_widget().grid(row = 0, column = 0)
'''
If use 'grid' geometry manager in canvas, when I add the toolbar below appear : _tkinter.TclError: cannot use geometry manager pack inside . which already has slaves managed by grid so I must use 'pack' geometry manager.
canvas.get_tk_widget().pack(side = 'top', fill = 'both', expand = 1)
Use 'pack' geometry manager, add the toolbar correct.
'''
toolbar = NavigationToolbar2Tk(canvas, root_win)
toolbar.update()
canvas.get_tk_widget().pack(side = 'top', fill = 'both', expand = 1)
root_win.mainloop()
'''
Can I use 'grid' geometry manager for toolbar by other way?
'''