数据来源:
部分数据截图:
代码:
import json
from country_codes import get_country_code
import pygal
from pygal_maps_world.i18n import COUNTRIES
import pygal_maps_world.maps#import pygal
from pygal.style import RotateStyle#样式
from pygal.style import LightColorizedStyle#高亮样式
wm_style=RotateStyle('#336699',base_style=LightColorizedStyle)
filename="population_data.json"
with open(filename) as f:
pop_data=json.load(f)
cc_populations={}
for pop_dict in pop_data:
if pop_dict['Year']=='2010':
country_name=pop_dict['Country Name']
population=int(float(pop_dict['Value']))#转化为int
code=get_country_code(country_name)
if code:
cc_populations[code]=population
cc_pops_1,cc_pops_2,cc_pops_3={},{},{}
for cc,pop in cc_populations.items():
if pop<10000000:
cc_pops_1[cc]=pop
elif pop<1000000000:
cc_pops_2[cc]=pop
else:
cc_pops_3[cc]=pop
print(len(cc_pops_2),len(cc_pops_2),len(cc_pops_3))
wm=pygal_maps_world.maps.World(style=wm_style)#替换之前的wm=pygal.Worldmap()
wm.title='world population in 2010,by Country'
wm.add('0-10m',cc_pops_1)
wm.add('10m-1bn',cc_pops_2)
wm.add('>1bn',cc_pops_3)
wm.render_to_file('world_population.svg')
在你的项目目录下找到world_population.svg然后浏览器打开