14

を使用して Tkinter FigureCanvasTkagg にいくつかのデータをプロットしていますmatplotlib。ボタンが押されたときに、データをプロットして新しいデータを描画する図をクリアする必要があります。

コードのプロット部分は次のとおりです (前に定義された App クラスがあります)。

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

このようなキャンバスの内容を更新するにはどうすればよいですか?

4

1 に答える 1

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

お役に立てれば

于 2012-08-29T22:52:51.523 に答える