/+junk/pygooglechart-py3k

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/%2Bjunk/pygooglechart-py3k

« back to all changes in this revision

Viewing changes to examples/mapchart.py

  • Committer: gak
  • Date: 2009-03-15 07:41:54 UTC
  • Revision ID: git-v1:af07747db18840d2b5e1dd9be42f20009f922f06
Added mapchart example

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
"""
 
3
Copyright Gerald Kaszuba 2008
 
4
 
 
5
This program is free software: you can redistribute it and/or modify
 
6
it under the terms of the GNU 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
This program 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 General Public License for more details.
 
14
 
 
15
You should have received a copy of the GNU General Public License
 
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
17
"""
 
18
 
 
19
import os
 
20
import sys
 
21
 
 
22
ROOT = os.path.dirname(os.path.abspath(__file__))
 
23
sys.path.insert(0, os.path.join(ROOT, '..'))
 
24
 
 
25
from pygooglechart import MapChart
 
26
 
 
27
import settings
 
28
import helper
 
29
 
 
30
def birth_rate():
 
31
 
 
32
    # Create a chart object of 200x100 pixels
 
33
    chart = MapChart(440, 220)
 
34
 
 
35
    # Load the data from a file, create a dict that looks like:
 
36
    # {'AU': 5, 'YE': 10}
 
37
    data = {}
 
38
    countries = open('mapchart-birth-rate.txt', 'rb').read().split('\n')
 
39
    for line in countries[:-1]:
 
40
        code, score = line.split(' ', 1)
 
41
        data[code] = float(score)
 
42
 
 
43
    # Set the data dictionary for country codes to value mapping
 
44
    chart.add_data_dict(data)
 
45
 
 
46
    # Download the chart
 
47
    chart.download('mapchart-birth-rate.png')
 
48
 
 
49
    # Now do it in africa ...
 
50
    chart.set_geo_area('africa')
 
51
 
 
52
    # ... with white as the default colour and gradient from green to red
 
53
    chart.set_colours(('EEEEEE', '10A010', 'D03000'))
 
54
 
 
55
    chart.download('mapchart-birth-rate-africa.png')
 
56
 
 
57
def main():
 
58
    birth_rate()
 
59
 
 
60
if __name__ == '__main__':
 
61
    main()