root/tags/0.4.1/examples/linechart.py

Revision 85, 1.7 kB (checked in by lgs, 4 years ago)

Update copyright note to include the 2008 year

Line 
1# Copyright (c) 2007-2008 by Lorenzo Gil Sanchez <lorenzo.gil.sanchez@gmail.com>
2#
3# This file is part of PyCha.
4#
5# PyCha is free software: you can redistribute it and/or modify
6# it under the terms of the GNU Lesser General Public License as published by
7# the Free Software Foundation, either version 3 of the License, or
8# (at your option) any later version.
9#
10# PyCha is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13# GNU Lesser General Public License for more details.
14#
15# You should have received a copy of the GNU Lesser General Public License
16# along with PyCha.  If not, see <http://www.gnu.org/licenses/>.
17
18import sys
19
20import cairo
21
22import pycha.line
23
24from lines import lines
25
26def lineChart(output):
27    surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 400, 200)
28
29    dataSet = (
30        ('lines', [(i, l[1]) for i, l in enumerate(lines)]),
31        )
32
33    options = {
34        'axis': {
35            'x': {
36                'ticks': [dict(v=i, label=l[0]) for i, l in enumerate(lines)],
37            },
38            'y': {
39                'tickCount': 4,
40            }
41        },
42        'background': {
43            'color': '#eeeeff',
44            'lineColor': '#444444'
45        },
46        'colorScheme': 'blue',
47        'legend': {
48            'hide': True,
49        },
50        'padding': {
51            'left': 55,
52            'bottom': 40,
53        }
54    }
55    chart = pycha.line.LineChart(surface, options)
56
57    chart.addDataset(dataSet)
58    chart.render()
59
60    surface.write_to_png(output)
61
62if __name__ == '__main__':
63    output = sys.argv[1] if len(sys.argv) > 1 else 'linechart.png'
64    lineChart(output)
Note: See TracBrowser for help on using the browser.