2012-08-25 8 views
8

Sto analizzando alcuni dati in un Tkinter FigureCanvasTkagg utilizzando matplotlib. Devo cancellare la figura in cui stampo i dati e disegno nuovi dati quando viene premuto un pulsante.Come aggiornare il contenuto di un FigureCanvasTkAgg

Qui è la parte tracciando del codice (c'è una classe App definita in precedenza):

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() 

Come posso aggiornare i contenuti di un tale tela?

+0

State Embedding questa tela in qualche app GUI, o sei solo utilizzando la funzionalità pyplot/pylab? – BrenBarn

+0

è incorporato in un'app GUI – Copo

risposta

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() 

speranza che questo aiuta

+0

Grazie. Questo dovrebbe essere contrassegnato come la risposta. –

Problemi correlati