/+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: 2009-03-15 04:46:13 UTC
  • Revision ID: git-v1:f2cc79f0db08252c20746a0fd6c659cb981aac2d
Fixed a deprecation warning

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
10
11
from pygooglechart import SimpleLineChart
11
12
from pygooglechart import XYLineChart
12
13
from pygooglechart import SparkLineChart
 
14
from pygooglechart import Axis
13
15
 
14
16
import settings
15
17
import helper
56
58
    chart.add_data(helper.random_data())
57
59
    chart.download('line-sparkline.png')
58
60
 
 
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
 
59
137
def main():
60
138
    simple_random()
61
139
    xy_random()
62
140
    xy_rect()
63
141
    xy_circle()
64
142
    sparklines()
 
143
    fill()
 
144
    stripes()
65
145
 
66
146
if __name__ == '__main__':
67
147
    main()