【问题标题】:How to update the contents of a FigureCanvasTkAgg如何更新 FigureCanvasTkAgg 的内容
【发布时间】:2012-08-20 21:36:33
【问题描述】:

我正在使用matplotlib 在 Tkinter FigureCanvasTkagg 中绘制一些数据。 当按下按钮时,我需要清除绘制数据并绘制新数据的图形。

这是代码的绘图部分(之前定义了一个 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()   

如何更新此类画布的内容?

【问题讨论】:

  • 您是将这个画布嵌入到某个 GUI 应用程序中,还是只是使用 pyplot/pylab 功能?

标签: python tkinter updating tkinter-canvas


【解决方案1】:
#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()

希望对你有帮助

【讨论】:

  • 由于某种原因,在多次 draw() 操作之后,我得到了一个最大递归深度达到错误。如果没有该绘图调用,这永远不会发生...
猜你喜欢
  • 2020-09-23
  • 1970-01-01
  • 2015-04-13
  • 2023-03-29
  • 2020-11-30
  • 1970-01-01
  • 2021-03-11
  • 1970-01-01
  • 2021-11-22
相关资源
最近更新 更多