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

  • Committer: gak
  • Date: 2008-04-26 03:10:01 UTC
  • Revision ID: git-v1:5116fc79a6c735af9fa248fe2effd7c52f6fb6d4
Initial radar chart implementation

Show diffs side-by-side

added added

removed removed

Lines of Context:
660
660
        url_bits = Chart.get_url_bits(self, data_class=data_class)
661
661
        if self.line_styles:
662
662
            style = []
663
 
            # for index, values in self.line_style.items():
664
663
            for index in xrange(max(self.line_styles) + 1):
665
664
                if index in self.line_styles:
666
665
                    values = self.line_styles[index]
841
840
            yield ('y', dataset)
842
841
 
843
842
 
 
843
class RadarChart(Chart):
 
844
 
 
845
    def type_to_url(self):
 
846
        return 'cht=r'
 
847
 
 
848
    def annotated_data(self):
 
849
        for dataset in self.data:
 
850
            yield ('x', dataset)
 
851
 
 
852
 
844
853
def test():
845
854
    chart = GroupedVerticalBarChart(320, 200)
846
855
    chart = PieChart2D(320, 200)
847
856
    chart = ScatterChart(320, 200)
848
857
    chart = SimpleLineChart(320, 200)
849
 
    sine_data = [math.sin(float(a) / 10) * 2000 + 2000 for a in xrange(100)]
850
 
    random_data = [a * random.random() * 30 for a in xrange(40)]
 
858
    chart = RadarChart(500, 500)
 
859
    sine_data = [math.sin(float(a) / 10) * 100 + 50 for a in xrange(100)]
 
860
    random_data = [random.random() * 100 for a in xrange(100)]
851
861
    random_data2 = [random.random() * 4000 for a in xrange(10)]
852
862
#    chart.set_bar_width(50)
853
863
#    chart.set_bar_spacing(0)
854
864
    chart.add_data(sine_data)
855
865
    chart.add_data(random_data)
856
 
    chart.add_data(random_data2)
 
866
#    chart.add_data(random_data2)
857
867
#    chart.set_line_style(1, thickness=2)
858
868
#    chart.set_line_style(2, line_segment=10, blank_segment=5)
859
 
#    chart.set_title('heloooo')
860
 
#    chart.set_legend(('sine wave', 'random * x'))
861
 
#    chart.set_colours(('ee2000', 'DDDDAA', 'fF03f2'))
 
869
    chart.set_title('heloooo weeee')
 
870
    chart.set_legend(('sine wave', 'random * x'))
 
871
    chart.set_colours(('ee2000', 'DDDDAA', 'fF03f2'))
862
872
#    chart.fill_solid(Chart.BACKGROUND, '123456')
863
 
#    chart.fill_linear_gradient(Chart.CHART, 20, '004070', 1, '300040', 0,
864
 
#        'aabbcc00', 0.5)
 
873
    chart.fill_linear_gradient(Chart.CHART, 20, '004070', 1, '300040', 0,
 
874
        'aabbcc00', 0.5)
865
875
#    chart.fill_linear_stripes(Chart.CHART, 20, '204070', .2, '300040', .2,
866
876
#        'aabbcc00', 0.2)
867
877
    axis_left_index = chart.set_axis_range(Axis.LEFT, 0, 10)
868
 
    axis_left_index = chart.set_axis_range(Axis.LEFT, 0, 10)
869
 
    axis_left_index = chart.set_axis_range(Axis.LEFT, 0, 10)
870
 
    axis_right_index = chart.set_axis_range(Axis.RIGHT, 5, 30)
871
 
    axis_bottom_index = chart.set_axis_labels(Axis.BOTTOM, [1, 25, 95])
872
 
    chart.set_axis_positions(axis_bottom_index, [1, 25, 95])
873
 
    chart.set_axis_style(axis_bottom_index, '003050', 15)
 
878
#    axis_left_index = chart.set_axis_range(Axis.LEFT, 0, 10)
 
879
#    axis_left_index = chart.set_axis_range(Axis.LEFT, 0, 10)
 
880
#    axis_right_index = chart.set_axis_range(Axis.RIGHT, 5, 30)
 
881
#    axis_bottom_index = chart.set_axis_labels(Axis.BOTTOM, [1, 25, 95])
 
882
#    chart.set_axis_positions(axis_bottom_index, [1, 25, 95])
 
883
#    chart.set_axis_style(axis_bottom_index, '003050', 15)
874
884
 
875
885
#    chart.set_pie_labels(('apples', 'oranges', 'bananas'))
876
886
 
879
889
#    for a in xrange(0, 100, 10):
880
890
#        chart.add_marker(1, a, 'a', 'AACA20', 10)
881
891
 
882
 
    chart.add_horizontal_range('00A020', .2, .5)
883
 
    chart.add_vertical_range('00c030', .2, .4)
 
892
#    chart.add_horizontal_range('00A020', .2, .5)
 
893
#    chart.add_vertical_range('00c030', .2, .4)
884
894
 
885
895
    chart.add_fill_simple('303030A0')
886
896
 
888
898
 
889
899
    url = chart.get_url()
890
900
    print url
891
 
    if 0:
 
901
    if 1:
892
902
        data = urllib.urlopen(chart.get_url()).read()
893
903
        open('meh.png', 'wb').write(data)
894
 
        os.system('start meh.png')
 
904
        os.system('eog meh.png')
895
905
 
896
906
 
897
907
if __name__ == '__main__':
898
908
    test()
 
909