Currently the module only works with positive values for the axes and requires the presence of the Arial.ttf font by default. This modules should be considered an early implementation. You should ensure the values you choose produce a nice looking graph because there is very little error checking and the values you choose may not result in the graph displaying correctly.
Here as an example showing the useage of the three main classes:
#!/usr/bin/env python import sys; sys.path.append('../../../') # show python where the modules are import web.image.graph graph = web.image.graph.ScatterGraph( xAxis={'max':200, 'unit':20, 'label':'Value 1 /cm^2'}, yAxis={'max':200, 'unit':20, 'label':'Value 2 /cm^2'}, points=[(0,0),(13,68),(200,200)], size=(500, 300), bgColor=(240,240,240), title='Test Graph' ) graph.save('scatter.ps') graph = web.image.graph.BarGraph( xAxis={'max':200, 'unit':20, 'label':'Value 1 /cm^2'}, yAxis={'max':200, 'unit':20, 'label':'Value 2 /cm^2'}, points=[10,20,40,50,200,89, 30, 60, 70, 60], size=(500, 300), bgColor=(240,240,240), title='Test Graph' ) graph.save('bar.png') graph = web.image.graph.PieChart( points={ 'food':10, 'numbers':20, 'numbers2':30, }, size=(500, 300), bgColor=(240,240,240), title='Test Graph' ) graph.save('pie.jpg') graph = web.image.graph.BarGraph( xAxis={'max':200, 'unit':20, 'label':'Value 1 /cm^2'}, yAxis={'max':200, 'unit':20, 'label':'Value 2 /cm^2'}, points=[10,20,40,50,200,89, 30, 60, 70, 60], size=(500, 300), bgColor=web.image.html2tuple('#F0F0F0'), title='Test Graph' ) fp = open('string.pdf','wb') fp.write(graph.toString('pdf')) fp.close()
Note:
The format of the image saved depends on the extension used. Currently supported are '.png'
, '.jpg'
, '.ps'
. JPEG is a lossy compression method and so the graphics produced as JPEGs may not be as good quality as the others. The receommended format to use is '.png'
. ust save your files with a .png
extension to have PNG output.