在tkinter中显示空图表,直到您单击按钮

时间:2018-05-03 17:30:14

标签: python matplotlib tkinter

我想创建一个GUI应用程序,在按下按钮时绘制图形。我想在tkinter窗口上有一个空图形,当你按下名为" Draw"的按钮时,程序应绘制图形。

我做了一个窗口,显示空图形和绘图按钮,但按下按钮时没有任何反应,我没有收到任何错误。你能帮我解决这个问题吗?

这是代码:

from tkinter import *
from tkinter import ttk

import numpy as np

import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
from matplotlib.backend_bases import key_press_handler
from matplotlib.figure import Figure

myApp = Tk()
myApp.title("Cost Analysis")                         
myApp.geometry("1900x1000")

X=[1,4,6,8,9]
Y=[3,5,7,8,10]

fprojektiTroskovi=Figure(figsize=(7, 4.5),dpi=83)
GrafikProjektiTroskovi=fprojektiTroskovi.add_subplot(111)

CanvasProjectsTroskovi=FigureCanvasTkAgg(fprojektiTroskovi, master=myApp)
CanvasProjectsTroskovi.show()
CanvasProjectsTroskovi.get_tk_widget().grid(row=30,column=0,sticky="wn",padx=5)

toolbar_FrameProjektiTroskovi=Frame(myApp)
toolbar_FrameProjektiTroskovi.grid(row=1,column=0,sticky="wn",padx=5)

ToolbarProjectsTroskovi = NavigationToolbar2TkAgg(CanvasProjectsTroskovi,toolbar_FrameProjektiTroskovi)
ToolbarProjectsTroskovi.update()
CanvasProjectsTroskovi._tkcanvas.grid(row=0,column=0,sticky="wn",padx=5,pady=5)

GrafikProjektiTroskovi.set_xlabel("Size")
GrafikProjektiTroskovi.set_ylabel("Costs")
GrafikProjektiTroskovi.set_title("All Projects (Size - Costs)")
GrafikProjektiTroskovi.grid()


def draw_graph():

    GrafikProjektiTroskovi.plot(X, Y, color="blue",marker="o", linewidth=1, label="Planned Costs")

    GrafikProjektiTroskovi.legend()

button=Button(myApp, text="Draw", command=draw_graph)
button.grid(row=0,column=1)

myApp.mainloop()

0 个答案:

没有答案