/+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/line.py

  • Committer: gak
  • Date: 2008-05-03 07:30:58 UTC
  • Revision ID: git-v1:9342edb8666dde7e843e3eb438f1f6a717aa32fc
- Really added initial unit tests
- Converted setup.py to unix file format
- warnings made when data is being clipped and when data scaling is incorrect
- max_value is now a variable
- pie and google-o-meter chart data is now on the x-axis
- More grammar work

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
ROOT = os.path.dirname(os.path.abspath(__file__))
8
8
sys.path.insert(0, os.path.join(ROOT, '..'))
9
9
 
10
 
from pygooglechart import Chart
11
10
from pygooglechart import SimpleLineChart
12
11
from pygooglechart import XYLineChart
13
12
from pygooglechart import SparkLineChart
14
 
from pygooglechart import Axis
15
13
 
16
14
import settings
17
15
import helper
58
56
    chart.add_data(helper.random_data())
59
57
    chart.download('line-sparkline.png')
60
58
 
61
 
def fill():
62
 
 
63
 
    # Set the vertical range from 0 to 50
64
 
    max_y = 50
65
 
    chart = SimpleLineChart(200, 125, y_range=[0, max_y])
66
 
 
67
 
    # First value is the highest Y value. Two of them are needed to be
68
 
    # plottable.
69
 
    chart.add_data([max_y] * 2)
70
 
 
71
 
    # 3 sets of real data
72
 
    chart.add_data([28, 30, 31, 33, 35, 36, 42, 48, 43, 37, 32, 24, 28])
73
 
    chart.add_data([16, 18, 18, 21, 23, 23, 29, 36, 31, 25, 20, 12, 17])
74
 
    chart.add_data([7, 9, 9, 12, 14, 14, 20, 27, 21, 15, 10, 3, 7])
75
 
 
76
 
    # Last value is the lowest in the Y axis.
77
 
    chart.add_data([0] * 2)
78
 
 
79
 
    # Black lines
80
 
    chart.set_colours(['000000'] * 5)
81
 
 
82
 
    # Filled colours
83
 
    # from the top to the first real data
84
 
    chart.add_fill_range('76A4FB', 0, 1)
85
 
 
86
 
    # Between the 3 data values
87
 
    chart.add_fill_range('224499', 1, 2)
88
 
    chart.add_fill_range('FF0000', 2, 3)
89
 
 
90
 
    # from the last real data to the
91
 
    chart.add_fill_range('80C65A', 3, 4)
92
 
 
93
 
    # Some axis data
94
 
    chart.set_axis_labels(Axis.LEFT, ['', max_y / 2, max_y])
95
 
    chart.set_axis_labels(Axis.BOTTOM, ['Sep', 'Oct', 'Nov', 'Dec'])
96
 
 
97
 
    chart.download('line-fill.png')
98
 
 
99
 
def stripes():
100
 
    
101
 
    # Set the vertical range from 0 to 100
102
 
    max_y = 100
103
 
 
104
 
    # Chart size of 200x125 pixels and specifying the range for the Y axis
105
 
    chart = SimpleLineChart(200, 125, y_range=[0, max_y])
106
 
 
107
 
    # Add the chart data
108
 
    data = [
109
 
        32, 34, 34, 32, 34, 34, 32, 32, 32, 34, 34, 32, 29, 29, 34, 34, 34, 37,
110
 
        37, 39, 42, 47, 50, 54, 57, 60, 60, 60, 60, 60, 60, 60, 62, 62, 60, 55,
111
 
        55, 52, 47, 44, 44, 40, 40, 37, 34, 34, 32, 32, 32, 31, 32
112
 
    ]
113
 
    chart.add_data(data)
114
 
    
115
 
    # Set the line colour to blue
116
 
    chart.set_colours(['0000FF'])
117
 
 
118
 
    # Set the vertical stripes
119
 
    chart.fill_linear_stripes(Chart.CHART, 0, 'CCCCCC', 0.2, 'FFFFFF', 0.2)
120
 
 
121
 
    # Set the horizontal dotted lines
122
 
    chart.set_grid(0, 25, 5, 5)
123
 
 
124
 
    # The Y axis labels contains 0 to 100 skipping every 25, but remove the
125
 
    # first number because it's obvious and gets in the way of the first X
126
 
    # label.
127
 
    left_axis = range(0, max_y + 1, 25)
128
 
    left_axis[0] = ''
129
 
    chart.set_axis_labels(Axis.LEFT, left_axis)
130
 
 
131
 
    # X axis labels
132
 
    chart.set_axis_labels(Axis.BOTTOM, \
133
 
        ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'])
134
 
 
135
 
    chart.download('line-stripes.png')
136
 
 
137
59
def main():
138
60
    simple_random()
139
61
    xy_random()
140
62
    xy_rect()
141
63
    xy_circle()
142
64
    sparklines()
143
 
    fill()
144
 
    stripes()
145
65
 
146
66
if __name__ == '__main__':
147
67
    main()