我有一个 wxPython 应用程序,它使用 matplotlib 重复绘制数据。代码看起来像这样:
import matplotlib
matplotlib.use('WXAgg')
from matplotlib.figure import Figure
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigCanvas, \
NavigationToolbar2WxAgg as NavigationToolbar
self.fig = Figure((4,5), dpi = 100, facecolor = "white")
self.canvas = FigCanvas(self.panel, -1, self.fig)
self.toolbar = NavigationToolbar(self.canvas)
self.axes = self.fig.add_subplot(111)
每次我想绘制一些东西时,我只需设置 x 和 y 并执行以下操作:
self.axes.plot(x,y, color = self.colours[i], label = text)
self.canvas.draw()
如您所见,我有一个绑定到画布的 NavigationToolBar。当我想绘制一个新图表时,我调用:
self.axes.clear()
self.axes.plot(x,y, color = self.colours[i], label = text)
self.canvas.draw()
问题来了:如果我在可视化绘图时使用工具栏的工具(缩放、步骤、平移等),那么当我稍后绘制新图表时,工具栏的“历史”不会重置。如果我尝试在这个新图表中使用工具栏,工具栏将使用的视图(当我单击“主页”或任何“步骤”时)将是旧图的视图。
我对 matplotlib 有点陌生,我可能做错了什么。谁能帮我解决这个问题?在此先感谢,对任何语法错误深表歉意,英语不是我的母语。