2012-08-25 2 views
8

matplotlib을 사용하여 Tkinter FigureCanvasTkagg에 일부 데이터를 플로팅합니다. 단추를 누를 때 데이터를 플롯하고 새 데이터를 그리는 그림을 지워야합니다.FigureCanvasTkAgg의 내용을 업데이트하는 방법

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

어떻게 그런 캔버스의 내용을 업데이트하나요 : 여기

코드의 플로팅 부분이다 (이전에 정의 된 응용 프로그램 클래스있다)?

+0

는 일부 GUI 응용 프로그램에이 캔버스를 내장하고 있습니까, 아니면 그냥 pyplot/pylab 기능을 사용하는 데 도움이? – BrenBarn

+0

GUI 응용 프로그램에 내장되어 있습니다. – Copo

답변

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

희망이

+0

감사합니다. 이것은 답변으로 표시되어야합니다. –

관련 문제