/+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:55:42 UTC
  • Revision ID: git-v1:9ad3c7c5ee6741049e44364ec6e35b9676ff6539
Added map chart type

Show diffs side-by-side

added added

removed removed

Lines of Context:
855
855
        for dataset in self.data:
856
856
            yield ('x', dataset)
857
857
 
 
858
class SplineRadarChart(RadarChart):
 
859
 
 
860
    def type_to_url(self):
 
861
        return 'cht=rs'
 
862
 
 
863
 
 
864
class MapChart(Chart):
 
865
 
 
866
    def __init__(self, *args, **kwargs):
 
867
        Chart.__init__(self, *args, **kwargs)
 
868
        self.geo_area = 'world'
 
869
        self.codes = []
 
870
 
 
871
    def type_to_url(self):
 
872
        return 'cht=t'
 
873
 
 
874
    def set_codes(self, codes):
 
875
        self.codes = codes
 
876
 
 
877
    def get_url_bits(self, data_class=None):
 
878
        url_bits = Chart.get_url_bits(self, data_class=data_class)
 
879
        url_bits.append('chtm=%s' % self.geo_area)
 
880
        if self.codes:
 
881
            url_bits.append('chld=%s' % ''.join(self.codes))
 
882
        return url_bits
 
883
 
 
884
    def annotated_data(self):
 
885
        for dataset in self.data:
 
886
            yield ('x', dataset)
858
887
 
859
888
def test():
860
889
    chart = PieChart2D(320, 200)
861
890
    chart = ScatterChart(320, 200)
862
891
    chart = SimpleLineChart(320, 200)
863
892
    chart = GroupedVerticalBarChart(320, 200)
864
 
    chart = RadarChart(500, 500)
 
893
    chart = SplineRadarChart(500, 500)
 
894
    chart = MapChart(440, 220)
865
895
    sine_data = [math.sin(float(a) / math.pi) * 100 for a in xrange(100)]
866
896
    random_data = [random.random() * 100 for a in xrange(100)]
867
897
    random_data2 = [random.random() * 50 for a in xrange(100)]
868
898
#    chart.set_bar_width(50)
869
899
#    chart.set_bar_spacing(0)
870
 
    chart.add_data(sine_data)
871
 
    chart.add_data(random_data)
872
 
    chart.add_data(random_data2)
 
900
#    chart.add_data(sine_data)
 
901
#    chart.add_data(random_data)
 
902
#    chart.add_data(random_data2)
873
903
#    chart.set_line_style(0, thickness=5)
874
904
#    chart.set_line_style(1, thickness=2, line_segment=10, blank_segment=5)
875
905
#    chart.set_title('heloooo weeee')
876
906
#    chart.set_legend(('sine wave', 'random * x'))
877
 
    chart.set_colours(('ee2000', 'DDDDAA', 'fF03f2'))
 
907
#    chart.set_colours(('ee2000', 'DDDDAA', 'fF03f2'))
878
908
#    chart.fill_solid(Chart.BACKGROUND, '123456')
879
909
#    chart.fill_linear_gradient(Chart.CHART, 20, '004070', 1, '300040', 0,
880
910
#        'aabbcc00', 0.5)
895
925
#    chart.add_horizontal_range('00A020', .2, .5)
896
926
#    chart.add_vertical_range('00c030', .2, .4)
897
927
 
898
 
    chart.add_fill_simple('303030A0')
899
 
 
900
 
    chart.download('test.png')
901
 
 
 
928
#    chart.add_fill_simple('303030A0')
 
929
 
 
930
    chart.set_codes(['AU', 'AT', 'US'])
 
931
    chart.add_data([1,2,3])
 
932
    chart.set_colours(('EEEEEE', '000000', '00FF00'))
902
933
    url = chart.get_url()
903
934
    print url
 
935
 
 
936
    chart.download('test.png')
 
937
 
904
938
    if 1:
905
939
        data = urllib.urlopen(chart.get_url()).read()
906
940
        open('meh.png', 'wb').write(data)