2012-08-25 12 views
8

Planuję niektóre dane w Tkinter FigureCanvasTkagg przy użyciu matplotlib. Muszę wyczyścić rysunek, na którym rysuję dane i rysować nowe dane po naciśnięciu przycisku.Jak zaktualizować zawartość FigureCanvasTkAgg

Oto kreślenia część kodu (jest klasa App zdefiniowane wcześniej):

self.fig = figure() 
    self.ax = self.fig.add_subplot(111) 
    self.ax.set_ylim(min(y), max(y))  

    self.line, = self.ax.semilogx(x, y, '.-') #tuple of a single element 
    self.canvas = FigureCanvasTkAgg(self.fig, master=master) 
    self.ax.semilogx(x, y, 'o-') 
    self.canvas.show() 
    self.canvas.get_tk_widget().pack(side='top', fill='both', expand=1) 
    self.frame.pack() 

Jak zaktualizować zawartość takiego płótna?

+0

Czy umieszczanie tego płótna do jakiejś aplikacji GUI, czy tylko za pomocą funkcji pyplot/pylab? – BrenBarn

+0

jest osadzony w aplikacji GUI – Copo

Odpowiedz

5
#call the clear method on your axes 
self.ax.clear() 

#plot the new data 
self.ax.set_ylim(min(newy), max(newy)) 
self.ax.semilogx(newx, newy, 'o-') 

#call the draw method on your canvas 
self.canvas.draw() 

nadzieję, że to pomaga

+0

Dzięki. To powinno być oznaczone jako odpowiedź. –