Каждый график должен заполнять направление x и иметь минимальную высоту по оси Y, чтобы, если общая высота нескольких графиков превышает высоту окна, прокрутка должна быть включена.
Я нашел способ прокрутите один большой рисунок (состоящий из нескольких подграфиков), но я вынужден использовать библиотеку, которая не может создавать подграфики, поэтому моя идея заключалась в том, чтобы расположить отдельные графики один под другим, рассматривая их как виджеты Tkinter.На данный момент у меня есть следующее, но, как вы можете видеть, полоса прокрутки присутствует, но не работает.
Любая информация будет полезна.
Код: Выделить всё
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
f = Figure()
a = f.add_subplot(111)
g = Figure()
b = g.add_subplot(111)
from tkinter import *
root=Tk()
frame=Frame(root)
frame.pack(expand=True, fill=BOTH)
canvas=Canvas(frame,bg='#FFFFFF',scrollregion=(0,0,500,500))
vbar=Scrollbar(frame,orient=VERTICAL)
vbar.pack(side=RIGHT,fill=Y)
vbar.config(command=canvas.yview)
canvas.config()
canvas.config(yscrollcommand=vbar.set)
canvas.pack(side=LEFT,expand=True,fill=BOTH)
middle = Frame(canvas, bg="yellow")
middle.pack(side="bottom", expand=True, fill="both")
canvas_1 = FigureCanvasTkAgg(f, middle)
canvas_1.get_tk_widget().pack(expand=True, fill="both")
canvas_1.draw()
bottom = Frame(canvas, bg="blue")
bottom.pack(side="bottom", expand=True, fill="both")
canvas_2 = FigureCanvasTkAgg(g, bottom)
canvas_2.get_tk_widget().pack(expand=True, fill="both")
canvas_2.draw()
root.mainloop()

Подробнее здесь: https://stackoverflow.com/questions/790 ... in-tkinter