[jToolkit-cvs] jToolkit/widgets chart.py,1.15,1.16
Brought to you by:
davidfraser,
friedelwolff
From: <dav...@us...> - 2004-02-10 09:11:37
|
Update of /cvsroot/jtoolkit/jToolkit/widgets In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25817 Modified Files: chart.py Log Message: Added argument to main chart for formatting middle x values differently to end points. Added legend on bottom left. Made the bar chart a constant size Index: chart.py =================================================================== RCS file: /cvsroot/jtoolkit/jToolkit/widgets/chart.py,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** chart.py 10 Feb 2004 09:05:21 -0000 1.15 --- chart.py 10 Feb 2004 09:08:21 -0000 1.16 *************** *** 72,80 **** class LineChart(Chart): ! def __init__(self, charttable, xcolumn, ycolumns, xstorageformat='TEXT', xdisplay='', filter=None): self.xcolumn = xcolumn self.ycolumns = ycolumns self.xstorageformat = xstorageformat self.xdisplay = xdisplay Chart.__init__(self, charttable, filter) --- 72,81 ---- class LineChart(Chart): ! def __init__(self, charttable, xcolumn, ycolumns, xstorageformat='TEXT', xdisplay='', filter=None,xdisplay2=None): self.xcolumn = xcolumn self.ycolumns = ycolumns self.xstorageformat = xstorageformat self.xdisplay = xdisplay + self.xdisplay2 = xdisplay2 Chart.__init__(self, charttable, filter) *************** *** 82,89 **** chartdata = self.charttable.gettablerows(self.filter) if self.xstorageformat == 'DATETIME': ! self.xdata = [dates.formatdate(row[self.xcolumn],self.xdisplay) for row in chartdata] else: self.xdata = [str(row[self.xcolumn]) for row in chartdata] self.ydata = [[row[ycolumn] for row in chartdata] for ycolumn in self.ycolumns] def drawimage(self): --- 83,96 ---- chartdata = self.charttable.gettablerows(self.filter) if self.xstorageformat == 'DATETIME': ! if self.xdisplay2: ! self.xdata = [dates.formatdate(chartdata[0][self.xcolumn], self.xdisplay)] ! self.xdata += [dates.formatdate(row[self.xcolumn],self.xdisplay2) for row in chartdata[1:-1]] ! self.xdata += [dates.formatdate(chartdata[-1][self.xcolumn], self.xdisplay)] ! else: ! self.xdata = [dates.formatdate(row[self.xcolumn],self.xdisplay) for row in chartdata] else: self.xdata = [str(row[self.xcolumn]) for row in chartdata] self.ydata = [[row[ycolumn] for row in chartdata] for ycolumn in self.ycolumns] + self.legendlabels = [str(ycolumn) for ycolumn in self.ycolumns] def drawimage(self): *************** *** 127,130 **** --- 134,140 ---- for dataset in self.ydata: self.figure.get_current_axis().plot(dataset) + + #Draw a legend + self.figure.get_current_axis().legend(self.legendlabels,3) *************** *** 182,186 **** def sizeimage(self): ! self.im_width = len(self.xdata)*2 + 2 self.im_height = 8 #This should take tagname length into account --- 192,196 ---- def sizeimage(self): ! self.im_width = 6 self.im_height = 8 #This should take tagname length into account |