Sections
Sub-Sections
Last Change
Annotate
Revision Log
Download
Plain Text
Original Format
Metanav
Preferences
About Trac
Links
Slowchop Studios
Gerald Kaszuba
Advertisement

root/trunk/examples/scatter.py

Revision 62, 2.2 kB (checked in by gak, 12 months ago)
  • Fixed line endings to UNIX
  • Fixed Hashbangs
  • Added GPL headers
  • Property svn:keywords set to Id Revision
Line 
1#!/usr/bin/env python
2"""
3Copyright Gerald Kaszuba 2008
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 3 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program.  If not, see <http://www.gnu.org/licenses/>.
17"""
18
19import os
20import sys
21import math
22
23ROOT = os.path.dirname(os.path.abspath(__file__))
24sys.path.insert(0, os.path.join(ROOT, '..'))
25
26from pygooglechart import ScatterChart
27
28import settings
29import helper
30
31def scatter_random():
32    chart = ScatterChart(settings.width, settings.height, 
33                         x_range=(0, 100), y_range=(0, 100))
34    chart.add_data(helper.random_data())
35    chart.add_data(helper.random_data())
36    chart.download('scatter-random.png')
37
38def scatter_random_marker_sizes():
39    chart = ScatterChart(settings.width, settings.height, 
40                         x_range=(0, 100), y_range=(0, 100))
41    chart.add_data(helper.random_data())
42    chart.add_data(helper.random_data())
43    chart.add_data(helper.random_data())
44    chart.download('scatter-random-marker-sizes.png')
45
46def scatter_circle():
47    chart = ScatterChart(settings.width, settings.height, 
48                         x_range=(0, 100), y_range=(0, 100))
49    steps = 40
50    xradius = 25
51    yradius = 45
52    xmid = 50
53    ymid = 50
54    xlist = []
55    ylist = []
56    for angle in xrange(0, steps + 1):
57        angle = float(angle) / steps * math.pi * 2
58        xlist.append(math.cos(angle) * xradius + xmid)
59        ylist.append(math.sin(angle) * yradius + ymid)
60    chart.add_data(xlist)
61    chart.add_data(ylist)
62    chart.add_data(range(len(ylist)))
63    chart.add_marker(0, 1.0, 'o', '00ff00', 10)
64    chart.download('scatter-circle.png')
65
66def main():
67    scatter_random()
68    scatter_random_marker_sizes()
69    scatter_circle()
70
71if __name__ == '__main__':
72    main()
Note: See TracBrowser for help on using the browser.