2
我有一個巨大的數組,我試圖創建一個動畫效果。我的方法是:matplotlib動畫與工具欄
def initPlot(self):
if not hasattr(self, 'axes'):
self.axes = self.figure.add_subplot(111)
self.axes.set_title('Monitor data', size=12)
pylab.setp(self.axes.get_xticklabels(), fontsize=8)
pylab.setp(self.axes.get_yticklabels(), fontsize=8)
self.maxy = 0
self.miny = 0
for i, pt_list in enumerate(self.point_lists):
plot_pts = num.array(pt_list)
clr = self.clr_list[i]
self.plot_data = self.axes.plot(plot_pts, linewidth= 1.0, color=clr,)[0]
self.plot_data.set_xdata(num.arange(len(plot_pts)))
self.plot_data.set_ydata(plot_pts)
maxPlot = plot_pts.max()
minPlot = plot_pts.min()
if maxPlot > self.maxy:
self.maxy = maxPlot
if minPlot < self.miny:
self.miny = minPlot
def draw(self):
"""Draw data."""
self.axes.set_xbound(lower=self.startPosition, upper=self.startPosition + 1000)
self.axes.set_ybound(lower=self.miny - 50, upper = self.maxy + 50)
self.canvas.draw()
def onTimerPassed(self, event):
if self.animation:
self.startPosition = self.startPosition + 10
self.draw()
現在這工作正常,動畫是我所期望的。不過,我還需要集成NavigationToolbar2WxAgg。這是我的問題。當動畫處於活動狀態時,任何縮放/重新定位等都會從self.canvas.draw()中自動取消。所以我的問題是,我該如何進行繪圖更新以保持工具欄的設置?
問候, 波格丹
謝謝,這是訣竅。 – Bogdan