from country_code import get_country_code
import json
import pygal.maps.world
from pygal.style import RotateStyle as RS, LightColorizedStyle as LCS
filename=‘gdp_json.json‘
with open(filename) as f:
gdp_data=json.load(f)
# 创建一个含有gdp的窗口
gdp={}
for gdp_m in gdp_data:
if gdp_m[‘Year‘]==‘1970‘:#这里面应该加上单引号或双引号
country_name=gdp_m[‘Country Name‘]
value=int(float(gdp_m[‘Value‘]))
code=get_country_code(country_name)
if code:
gdp[code]=value
# 按gdp大小进行分类
gdp_1,gdp_2,gdp_3={},{},{}
for cc,dd in gdp.items():
if dd < 1e+11:
gdp_1[cc]=dd
elif dd < 1e+12:
gdp_2[cc]=dd
else:
gdp_3[cc]=dd
#将数据进行可视化
print(len(gdp_1),len(gdp_2),len(gdp_3)) #这里显示出的三个字典的数量都为0?这是为什么呢????
wm_style=RS(‘#336699‘,base_style=LCS)
wm=pygal.maps.world.World(style=wm_style)
wm.title=‘GDP in 2015‘
wm.add(‘1‘,gdp_1)
wm.add(‘2‘,gdp_2)
wm.add(‘3‘,gdp_3)
wm.render_to_file(‘gdp1.svg‘)
原文:https://www.cnblogs.com/min94/p/9607978.html