def __init__(self, width=160, height=120): Layer.__init__(self) self._canvas = TikzCanvas(width, height) xspace = LinSpace(0,100) yspace = LogSpace(0.001,1000) self._space = Space2D(xspace, yspace) from math import sin, exp, pi xs = (x * 1.0 for x in xrange(0, 100)) data = [(x, 1.0, exp(6.8*sin(2*pi/100.0*x))) for x in xs] self.hticks = HTicks(LinTicker(xspace, 20, 1)) self.vticks = VTicks(LinTicker(yspace)) self.data = HistoData(data)
class Histo(Layer): def __init__(self, width=160, height=120): Layer.__init__(self) self._canvas = TikzCanvas(width, height) xspace = LinSpace(0,100) yspace = LogSpace(0.001,1000) self._space = Space2D(xspace, yspace) from math import sin, exp, pi xs = (x * 1.0 for x in xrange(0, 100)) data = [(x, 1.0, exp(6.8*sin(2*pi/100.0*x))) for x in xs] self.hticks = HTicks(LinTicker(xspace, 20, 1)) self.vticks = VTicks(LinTicker(yspace)) self.data = HistoData(data) def setup_draw(self, c): # self.set_plot() return c def draw(self): c = self._canvas.cursor() c.box(0,0).to(1,1).rect.draw() c = c.paper(10,10).to.box(1,1).paper.move(-10,-10).zoom()\ .set_plot(self._space) #c.box(0,0).to(1,1).rect.fill() #print c.plot(0,0.001).absolute self.data.draw(c) self.hticks.draw(c) self.vticks.draw(c) c.box(0,0).to(1,1).rect.draw() fulldraw = draw