678
615
url_bits.append('chxt=%s' % ','.join(available_axis))
680
url_bits.append('chxl=%s' % '%7c'.join(label_axis))
617
url_bits.append('chxl=%s' % '|'.join(label_axis))
682
url_bits.append('chxr=%s' % '%7c'.join(range_axis))
619
url_bits.append('chxr=%s' % '|'.join(range_axis))
684
url_bits.append('chxp=%s' % '%7c'.join(positions))
621
url_bits.append('chxp=%s' % '|'.join(positions))
686
url_bits.append('chxs=%s' % '%7c'.join(styles))
623
url_bits.append('chxs=%s' % '|'.join(styles))
687
624
return '&'.join(url_bits)
689
626
# Markers, Ranges and Fill area (chm)
690
627
# -------------------------------------------------------------------------
692
def markers_to_url(self):
693
return 'chm=%s' % '%7c'.join([','.join(a) for a in self.markers])
629
def markers_to_url(self):
630
return 'chm=%s' % '|'.join([','.join(a) for a in self.markers])
695
632
def add_marker(self, index, point, marker_type, colour, size, priority=0):
696
633
self.markers.append((marker_type, colour, str(index), str(point), \
697
634
str(size), str(priority)))
699
636
def add_horizontal_range(self, colour, start, stop):
700
self.markers.append(('r', colour, '0', str(start), str(stop)))
702
def add_data_line(self, colour, data_set, size, priority=0):
703
self.markers.append(('D', colour, str(data_set), '0', str(size), \
706
def add_marker_text(self, string, colour, data_set, data_point, size, \
708
self.markers.append((str(string), colour, str(data_set), \
709
str(data_point), str(size), str(priority)))
637
self.markers.append(('r', colour, '1', str(start), str(stop)))
711
639
def add_vertical_range(self, colour, start, stop):
712
self.markers.append(('R', colour, '0', str(start), str(stop)))
640
self.markers.append(('R', colour, '1', str(start), str(stop)))
714
642
def add_fill_range(self, colour, index_start, index_end):
715
643
self.markers.append(('b', colour, str(index_start), str(index_end), \
967
890
Chart.__init__(self, *args, **kwargs)
968
891
self.geo_area = 'world'
970
self.__areas = ('africa', 'asia', 'europe', 'middle_east',
971
'south_america', 'usa', 'world')
973
'AD', 'AE', 'AF', 'AG', 'AI', 'AL', 'AM', 'AN', 'AO', 'AQ', 'AR',
974
'AS', 'AT', 'AU', 'AW', 'AX', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF',
975
'BG', 'BH', 'BI', 'BJ', 'BL', 'BM', 'BN', 'BO', 'BR', 'BS', 'BT',
976
'BV', 'BW', 'BY', 'BZ', 'CA', 'CC', 'CD', 'CF', 'CG', 'CH', 'CI',
977
'CK', 'CL', 'CM', 'CN', 'CO', 'CR', 'CU', 'CV', 'CX', 'CY', 'CZ',
978
'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'EH', 'ER',
979
'ES', 'ET', 'FI', 'FJ', 'FK', 'FM', 'FO', 'FR', 'GA', 'GB', 'GD',
980
'GE', 'GF', 'GG', 'GH', 'GI', 'GL', 'GM', 'GN', 'GP', 'GQ', 'GR',
981
'GS', 'GT', 'GU', 'GW', 'GY', 'HK', 'HM', 'HN', 'HR', 'HT', 'HU',
982
'ID', 'IE', 'IL', 'IM', 'IN', 'IO', 'IQ', 'IR', 'IS', 'IT', 'JE',
983
'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KP', 'KR',
984
'KW', 'KY', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT',
985
'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MF', 'MG', 'MH', 'MK',
986
'ML', 'MM', 'MN', 'MO', 'MP', 'MQ', 'MR', 'MS', 'MT', 'MU', 'MV',
987
'MW', 'MX', 'MY', 'MZ', 'NA', 'NC', 'NE', 'NF', 'NG', 'NI', 'NL',
988
'NO', 'NP', 'NR', 'NU', 'NZ', 'OM', 'PA', 'PE', 'PF', 'PG', 'PH',
989
'PK', 'PL', 'PM', 'PN', 'PR', 'PS', 'PT', 'PW', 'PY', 'QA', 'RE',
990
'RO', 'RS', 'RU', 'RW', 'SA', 'SB', 'SC', 'SD', 'SE', 'SG', 'SH',
991
'SI', 'SJ', 'SK', 'SL', 'SM', 'SN', 'SO', 'SR', 'ST', 'SV', 'SY',
992
'SZ', 'TC', 'TD', 'TF', 'TG', 'TH', 'TJ', 'TK', 'TL', 'TM', 'TN',
993
'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'UM', 'US', 'UY',
994
'UZ', 'VA', 'VC', 'VE', 'VG', 'VI', 'VN', 'VU', 'WF', 'WS', 'YE',
995
'YT', 'ZA', 'ZM', 'ZW')
997
894
def type_to_url(self):
1000
897
def set_codes(self, codes):
1001
'''Set the country code map for the data.
1002
Codes given in a list.
1013
if cc in self.__ccodes:
1016
raise UnknownCountryCodeException(cc)
1018
self.codes = codemap
1020
def set_geo_area(self, area):
1021
'''Sets the geo area for the map.
1032
if area in self.__areas:
1033
self.geo_area = area
1035
raise UnknownChartType('Unknown chart type for maps: %s' %area)
1037
900
def get_url_bits(self, data_class=None):
1038
901
url_bits = Chart.get_url_bits(self, data_class=data_class)