2012-08-25 30 views
8

Tôi đang vẽ sơ đồ một số dữ liệu trong Tkinter FigureCanvasTkagg sử dụng matplotlib. Tôi cần xóa hình mà tôi vẽ dữ liệu và vẽ dữ liệu mới khi nhấn nút.Cách cập nhật nội dung của hình FigureCanvasTkAgg

Đây là một phần âm mưu của mã (có một lớp ứng dụng được xác định trước đó):

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

Làm thế nào để cập nhật các nội dung của một khung như vậy?

+0

Bạn đang nhúng vải này vào một số ứng dụng GUI, hoặc là bạn chỉ cần sử dụng chức năng pyplot/pylab? – BrenBarn

+0

nó được nhúng trong một ứng dụng GUI – Copo

Trả lời

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

hy vọng điều này giúp

+0

Cảm ơn. Điều này sẽ được đánh dấu là câu trả lời. –

Các vấn đề liên quan