2012-08-25 41 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

ありがとうございます。これは答えとしてマークする必要があります。 –

関連する問題