Although the curves now are fitting in the box, the axes data does not updated and freezes at some initial values. I'm also reworked example in order to use two Y axises one to the left and one at the right. And the second plot attached to the right axis is not autoscaled as the first does. Those the two things stops me now. Any suggestions is highly appreciated!
# -*- coding: utf-8 -*- """ Created on Fri Jul 23 10:53:59 2010 @author: ali """ import sys from matplotlib.figure import Figure from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas from PyQt4 import QtGui import numpy as np import time ITERS = 1000 class BlitQT(FigureCanvas): def __init__(self): FigureCanvas.__init__(self, Figure()) self.figure.subplots_adjust(right=0.75) self.ax1 = self.figure.add_subplot(111) self.ax1.set_ylabel("Func1") self.ax2 = self.ax1.twinx() self.ax2.set_ylabel("Func2") self.ax1.grid() self.draw() self.ax1_background = self.copy_from_bbox(self.ax1.bbox) self.ax2_background = self.copy_from_bbox(self.ax2.bbox) self.cnt = 0 self.x = np.arange(0,2*np.pi,0.01) self.line1, = self.ax1.plot(self.x, np.sin(self.x), 'b', animated=True) self.line2, = self.ax2.plot(self.x, np.cos(self.x), 'r', animated=True) self.tstart = time.time() self.startTimer(10) def timerEvent(self, evt): y1 = self.x * np.sin(self.x+self.cnt/10.0) y2 = np.cos(self.x+self.cnt/10.0) / self.x self.ax1.set_ylim(y1.min(), y1.max()) self.ax2.set_ylim(y2.min(), y2.max()) self.restore_region(self.ax1_background, bbox=self.ax1.bbox) # self.restore_region(self.ax2_background, bbox=self.ax2.bbox) # update the data self.line1.set_ydata(y1) self.line2.set_ydata(y2) # just draw the animated artist self.ax1.draw_artist(self.line1) self.ax2.draw_artist(self.line2) # just redraw the axes rectangle # self.blit(self.ax1.bbox) self.blit(self.ax2.bbox) if self.cnt == 0: self.draw() if self.cnt==ITERS: # print the timing info and quit print 'FPS:' , ITERS/(time.time()-self.tstart) sys.exit() else: self.cnt += 1 app = QtGui.QApplication(sys.argv) widget = BlitQT() widget.show() sys.exit(app.exec_()) ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users