Version 22 (modified by 15 years ago) ( diff ) | ,
---|
Blueprint for Reporting/Charting
We need to be able to generate Pretty & Informative Reports from the database.
For quick visualisations in the browser, we have included jqPlot.
For more formal reports (which can also be retrieved via webservices using the PDF representation of the REST Controller), we currently use ReportLab via Geraldo. This also supports Graphics (via PIL)
Other options:
- Pisa uses ReportLab to generate PDF from HTML
- Matplotlib can generate visualisations
- Cairo can generate nice charts from the back-end
- Pod to create Open Document Format
Excel files are currently written using xlwt. Other options:
- PyExcelerator
- Docs on Python Excel libraries: http://www.python-excel.org/
- Thread recommending xlwt: http://groups.google.com/group/web2py/browse_thread/thread/375307e92df40ca8
T2 includes a basic barchart function:
def barchart(data,width=400,height=15,scale=None, label_width=50,values_width=50): if not scale: scale=max([m for n,c,m in data]) if not scale: return None return TABLE(_class='barchart', *[TR(TD(n,_width=label_width,_style="text-align: right"), TABLE(TR(TD(_width=int(m*width/scale),_height=height, _style='background-color:'+c))),TD(m,_width=values_width), _style="vertical-alignment: middle") for n,c,m in data])
Could be something to use Flash? (although best-avoided, if possible, to minimise client support)
- PyAMF: http://pyamf.org
- Web2Py integration: http://mdp.cti.depaul.edu/AlterEgo/default/show/22
- BirdEye: http://code.google.com/p/birdeye/
- FusionCharts Free: http://www.fusioncharts.com/Free/
- Open Flash Chart: http://teethgrinder.co.uk/open-flash-chart-2/
- from Python: http://code.google.com/p/open-flash-chart-python/
S2 version: