Python 滚动嵌入tkinter中的matplotlib图形
我试图在一个垂直滚动的tkinter窗口中显示matplotlib子窗口的m x n网格。我已经读过多个类似的问题,但我仍然遇到同样的问题: 尽管指定了图形大小,但我无法使子地块保持其(通常)方形纵横比。Matplotlib不断调整图形(或子地块?)的大小以适应屏幕大小,并防止其向垂直方向延伸,尽管其大小足以容纳所有子地块 本MWE旨在展示以下问题:Python 滚动嵌入tkinter中的matplotlib图形,python,matplotlib,tkinter,Python,Matplotlib,Tkinter,我试图在一个垂直滚动的tkinter窗口中显示matplotlib子窗口的m x n网格。我已经读过多个类似的问题,但我仍然遇到同样的问题: 尽管指定了图形大小,但我无法使子地块保持其(通常)方形纵横比。Matplotlib不断调整图形(或子地块?)的大小以适应屏幕大小,并防止其向垂直方向延伸,尽管其大小足以容纳所有子地块 本MWE旨在展示以下问题: 导入tkinter 从tkinter进口* 从matplotlib.backends.backend_tkagg导入图CAVASTKAGG,导航工
导入tkinter
从tkinter进口*
从matplotlib.backends.backend_tkagg导入图CAVASTKAGG,导航工具栏2TK
从matplotlib.figure导入图形
将numpy作为np导入
root=tkinter.Tk()
root.wm_标题(“嵌入Tk”)
图=图(figsize=(5,80),dpi=400)
ax=图子批次(9,4)
对于ax.flatte()中的i:
i、 绘图(np.随机.随机样本(8))
canvas=FigureCanvasTkAgg(fig,master=root)#一个tk.DrawingArea。
canvas.draw()
scroll\u y=Scrollbar(canvas.get\u tk\u widget(),orient=“vertical”,command=canvas.get\u tk\u widget().yview)
滚动y.pack(侧边为“右”,填充为“y”)
canvas.get\u tk\u widget().configure(yscrolllCommand=scroll\u y.set,scrollregion=canvas.get\u tk\u widget().bbox(“全部”))
工具栏=导航工具栏2TK(画布,根)
toolbar.update()
canvas.get\u tk\u widget().pack(side=tkinter.TOP,fill=tkinter.BOTH,expand=1)
tkinter.mainloop()
我们的目标是或多或少地重现这个PyQt5实现的行为——仅在Tkinter中:
提前谢谢