.. _old_animation-animation_blit_fltk: old_animation example code: animation_blit_fltk.py ================================================== [`source code `_] :: from __future__ import print_function import sys import fltk import matplotlib matplotlib.use('FltkAgg') import pylab as p import numpy as npy import time # save the clean slate background -- everything but the animated line # is drawn and saved in the pixel buffer background class animator: def __init__(self,ax): self.ax=ax self.canvas=ax.figure.canvas self.canvas.mpl_connect('draw_event',self.clear) self.cnt=0 self.background=None # for profiling self.tstart = time.time() def clear(self,event): self.background = self.canvas.copy_from_bbox(self.ax.bbox) def update(self,ptr): # restore the clean slate background if self.background is None: self.background = self.canvas.copy_from_bbox(self.ax.bbox) self.canvas.restore_region(self.background) # update the data line.set_ydata(npy.sin(x+self.cnt/10.0)) # just draw the animated artist self.ax.draw_artist(line) # just redraw the axes rectangle self.canvas.blit(ax.bbox) self.cnt+=1 if self.cnt==1000: # print the timing info and quit print('FPS:' , 1000/(time.time()-self.tstart)) sys.exit() return True ax = p.subplot(111) p.subplots_adjust(left=0.3, bottom=0.3) # check for flipy bugs p.grid() # to ensure proper background restore # create the initial line x = npy.arange(0,2*npy.pi,0.01) line, = p.plot(x, npy.sin(x), animated=True) p.draw() anim=animator(ax) fltk.Fl.add_idle(anim.update) fltk.Fl.run() Keywords: python, matplotlib, pylab, example, codex (see :ref:`how-to-search-examples`)