调整大小时,Matplotlib工具栏会占用太多空间

时间:2017-10-13 01:01:32

标签: python matplotlib tkinter resize toolbar

我有这个显示股票价格的应用程序。我希望图表在调整大小时尽可能多地占用空间。但是,由于某种原因,工具栏总是占用大量空间。现在,当我展开窗口时,它看起来像这样。 enter image description here

我希望顶部有点薄,只留下足够的工具栏空间。我尝试给工具栏框架一个较小的高度,但它没有帮助。任何意见都表示赞赏。

以下是相关代码:

class Application(tk.Frame):
global timeFrameCount
global coy
global firm
global timeTrack

def __init__(self,master=None):
    tk.Frame.__init__(self,master)
    self.createWidgets()

def createWidgets(self):

    self.plotbutton=ttk.Button(master=root, text="APPLY/RESET", command=lambda: self.plot(),width=12)
    self.plotbutton.grid(row=3,columnspan=2,sticky='s')
    self.entry=ttk.Entry(master=root,width=10)
    self.entry.grid(row=2,columnspan=2,sticky='s')
def plot(self):
    global firm
    global coy
    global timeTrack
    firm=True
    timeTrack=False
    fig = plt.figure(figsize=(7, 5))
    ax1 = plt.subplot2grid((6, 1), (0, 0), rowspan=4, colspan=1)
    ax2 = plt.subplot2grid((6, 1), (4, 0), rowspan=2, colspan=1, sharex=ax1)
    ax1.tick_params(bottom="off", left="off")
    ax2.tick_params(bottom="off", left="off")
    canvas = FigureCanvasTkAgg(fig, master=root)
    canvas.get_tk_widget().grid(row=1, rowspan=1,columnspan=2,sticky='wens')
    toolbar_frame = tk.Frame(master=root,height=20)
    toolbar_frame.grid(row=0, column=0, sticky='we')
    toolbar = NavigationToolbar2TkAgg(canvas, toolbar_frame)
    toolbar.update()
root=tk.Tk()
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)
root.rowconfigure(1, weight=1)
root.iconbitmap('zzz.ico')
app=Application(master=root)
root.geometry('700x608')
app.mainloop()

2 个答案:

答案 0 :(得分:0)

尝试给第1行而不是第0行赋予权重。权重应该在带有图的行上。

答案 1 :(得分:0)

我改变了数字尺寸并且有效!!