|
From: Gregory L. <gre...@ff...> - 2004-07-15 17:21:06
|
Oups- forgot to include the "light" dynamic example:
#!/usr/bin/env python
"""
An animated image
"""
import sys, time, os, gc
from matplotlib import rcParams
import matplotlib
matplotlib.use("TkAgg")
from matplotlib.matlab import *
import Tkinter as Tk
fig = figure(1)
a = subplot(111)
a = arange(121.0)*2*pi/120.0
dR = 0.1*sin(5*a)
x_0=sin(a)
y_0=cos(a)
line = plot(x_0,y_0)
axis([ -1.5,1.5, -1.5, 1.5 ])
manager = get_current_fig_manager()
cnt = 0
tstart = time.time()
t=0
class loop:
def __init__(self, master):
self.master = master
self.updatefig() # start updating
def updatefig(self):
global t,x_0,y_0, dR, cnt, start,tstart
t += pi/20
R=1+sin(t)*dR
line[0].set_data(R*x_0,R*y_0)
manager.canvas.draw()
cnt += 1
if not cnt%100:
print 'FPS', 100.0/(time.time() - tstart)
tstart=time.time()
self.master.after(1, self.updatefig)
cnt = 0
loop(manager.canvas._tkcanvas)
show()
|