return -1 else: try: I = self.mod.get_current() except: I = -1 return I if __name__ == '__main__': acc = [Accelerator(mod=asp), Accelerator(mod=sls), Accelerator(mod=diamond), Accelerator(mod=nsls), \ Accelerator(mod=esrf), Accelerator(mod=ssrl), Accelerator(mod=spring8), Accelerator(mod=als), \ Accelerator(mod=elettra), Accelerator(mod=anka), Accelerator(mod=astrid), Accelerator(mod=pohang), \ Accelerator(mod=pf)] chart = MapChart(600, 350) data_dict = {} counter = 0 for a in acc: #I = 100 + counter; #counter += 1 I = a.get_current() a.I = I data_dict[a.isocode] = I print a.acronym, I, type(I) #url = http://chart.apis.google.com/chart?cht=map&cht=map:fixed=-60,-20,80,-35&chs=600x350&chd=s:9PfAu&chld=US-NY|CH|US-CA|AU-VIC|GB #chart.add_data_dict(data_dict)
states['all'][state] = states['all'].get(state, 0) + quarter countries[tel][country] = countries[tel].get(country, 0) + quarter countries['all'][country] = countries['all'].get(country, 0) + quarter # write data to file country_file = open('projects_countries_' + mode + '.csv', 'w') country_file.write('tel,iso_country,q4\n') country_writer = csv.writer(country_file) for tel in telescopes: for country in country_list: country_writer.writerow([tel, country, '%.02f' % countries[tel][country]]) # Now for the experimental chart generation. all_countries = copy.deepcopy(countries['all']) all_countries.pop('') chart = MapChart(440, 220) chart.set_colours(('FFFFFF', 'CCCCCC', '000000')) chart.set_codes(all_countries.keys()) chart.add_data(all_countries.values()) chart.download('projects_countries_all_telescopes_' + mode + '.png') all_countries.pop('US') chart = MapChart(440, 220) chart.set_colours(('FFFFFF', 'CCCCCC', '000000')) chart.set_codes(all_countries.keys()) chart.add_data(all_countries.values()) chart.download('projects_countries_foreign_all_telescopes_' + mode +'.png')
def birth_rate(): # Create a chart object of 200x100 pixels chart = MapChart(440, 220) # Load the data from a file, create a dict that looks like: # {'AU': 5, 'YE': 10} data = {} countries = open('mapchart-birth-rate.txt', 'rb').read().split('\n') for line in countries[:-1]: code, score = line.split(' ', 1) data[code] = float(score) # Set the data dictionary for country codes to value mapping chart.add_data_dict(data) # Download the chart chart.download('mapchart-birth-rate.png') # Now do it in africa ... chart.set_geo_area('africa') # ... with white as the default colour and gradient from green to red chart.set_colours(('EEEEEE', '10A010', 'D03000')) chart.download('mapchart-birth-rate-africa.png')
def vars(self, req, data): # Sets up the variables for the google charts used in the # template v = {} # 440x220 is the max size us_map = MapChart(440, 220) us_map.geo_area = 'usa' items = data.states.counts() us_map.set_codes([state for count, state in items]) us_map.add_data([count for count, state in items]) us_map.set_colours(('EEEEEE', '0000FF', '000033')) v['us_map_url'] = us_map.get_url() country_map = MapChart(440, 220) items = data.countries.counts() country_map.set_codes([country_code for count, (country_name, country_code) in items]) country_map.add_data([count for count, (country_name, country_code) in items]) country_map.set_colours(('EEEEEE', '9999FF', '000033')) v['country_map_url'] = country_map.get_url() return v
if self.mod == None: return -1 else: try: I = self.mod.get_current() except: I = -1 return I if __name__ == '__main__': acc = [Accelerator(mod=asp), Accelerator(mod=sls), Accelerator(mod=diamond), Accelerator(mod=nsls), \ Accelerator(mod=esrf), Accelerator(mod=ssrl), Accelerator(mod=spring8), Accelerator(mod=als), \ Accelerator(mod=elettra), Accelerator(mod=anka), Accelerator(mod=astrid), Accelerator(mod=pohang), \ Accelerator(mod=pf)] chart = MapChart(600,350) data_dict = {} counter=0 for a in acc: #I = 100 + counter; #counter += 1 I = a.get_current() a.I = I data_dict[a.isocode] = I print a.acronym, I, type(I) #url = http://chart.apis.google.com/chart?cht=map&cht=map:fixed=-60,-20,80,-35&chs=600x350&chd=s:9PfAu&chld=US-NY|CH|US-CA|AU-VIC|GB #chart.add_data_dict(data_dict)