python3显示世界人口地图

这个例子是来自《Python:从入门到实践》我们在编写的时候遇到2处报错.

首先是i18n这个包,还有一处是WorldMap()函数找不到;

对于第一个解决办法是:File->Settings->Project Interpreter里单击"+"按钮,添加"pygal_maps_world"包

第二个是wm=pygal.Worldmap()报错,正确改法请参考下面源码:

import json
from pygal_maps_world.i18n import COUNTRIES
import pygal
import pygal_maps_world.maps

filename='population_data.json'

def get_country_code(country_name):
    for code,name in COUNTRIES.items():
        if name==country_name:
            return code

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']))
        # print(country_name+": "+ str(population))
        code=get_country_code(country_name)
        if code:
            cc_populations[code]=population

wm=pygal_maps_world.maps.World()
wm.title='World Population in 2010,by Country'
wm.add('2010',cc_populations)
wm.render_to_file('world_population.svg')

print('countof items = ' + str(len(pop_data)) )

# for country_code in sorted(COUNTRIES.keys()):
#     print(country_code,COUNTRIES[country_code])

源码点击我下载

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值