from frames_for_mpl import * import time def Program() : f = Init() #Wait(1.0) Main(f) def Init() : frame = MainFrame(None) #pan = GraphPanel(frame) # Create a child graph panel frame.CreatePanel() if False : sizer = wx.BoxSizer(wx.HORIZONTAL) # Embed in a sizer frame.panel.SetSizer(sizer) sizer.SetItemMinSize(frame.panel, 300, 300) frame.panel.Fit() frame.panel.SetSize(size=(800,800)) frame.Show(True) # Show the frame and its contents return frame def Wait(delay) : start = time.time() while time.time() - start < delay : pass def Main(frame) : dat = np.array([1.,2.,3.]) frame.SetTimer(100) frame.data = np.array([]) frame.points = 100 frame.phase_increment = np.pi/50.0 frame.MakeData = Calc #Wait(1.0) #frame.PlotData(dat) #Wait(5.0) #frame.subplot.clear() #dat = dat + [1.0,1.0,1.0] #frame.PlotData(dat) """ #Wait(1.0) while 1 : #Wait(1.0) frame.subplot.clear() #Wait(1.0) dat = dat + [1.0,1.0,1.0] frame.PlotData(dat) #dat = dat * 1.1 """ #self.SetTopWindow(frame) #return True def Calc(f) : if len(f.data) == 0 : a = np.array([]) f.phase = 0 for i in range(f.points) : a = np.append(a, np.sin(f.phase)) f.phase += f.phase_increment f.data = a else : f.data = np.split(f.data, [1])[1] f.data = np.append(f.data, np.sin(f.phase)) f.phase += f.phase_increment # --------------------------------------------------------------------------------------------------------------- if __name__ == '__main__' : app = wx.App() #p = Program() #p.Main() Program() app.MainLoop()