Como atualizar o conteúdo de um FigureCanvasTkAgg

Estou traçando alguns dados em um Tkinter FigureCanvasTkagg usandomatplotlib. Eu preciso limpar a figura onde eu traçar dados e desenhar novos dados quando um botão é pressionado.

Aqui está a parte de plotagem do código (há uma classe App definida anteriormente):

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

Como atualizo o conteúdo dessa tela?