zoukankan      html  css  js  c++  java
  • 使用pygal.maps.world库读取JSON格式文件,显示世界人口地图图示

    import json
    import pygal.maps.world     #引入世界地图
    from pygal_maps_world.i18n import COUNTRIES     #引入世界个国家
    
    def get_country_code(country_name):
        """根据国家的名称,获取国家的二位简称"""
        for code,name in COUNTRIES.items():
            if country_name==name:
                return  code
        return None #没有值就返回none
    
    filename=r"population_data.json"
    with open(filename) as f:   #f是打开文件的对象
        pop_data=json.load(f)   #
        #创建一个字典存储:简称:人口
        pop1,pop2,pop3={},{},{}
        #遍历每个国家的人口,只获取2010年的
        for pop in pop_data:
            if pop['Year']=='2010':
                country_name=pop['Country Name']
                quentity=int(float(pop["Value"]))
                code= get_country_code(country_name)
                if code:
                    if quentity<10000000 :
                        pop1[code] =quentity
                    elif quentity<100000000 :
                        pop2[code]=quentity
                    else :
                        pop3[code]=quentity
                else:
                    if quentity<10000000 :
                        pop1[country_name] =quentity
                    elif quentity<100000000 :
                        pop2[country_name]=quentity
                    else :
                        pop3[country_name]=quentity
    #创建世界地图对象
    wm=pygal.maps.world.World()
    wm.title="2010 世界人口"
    #方法add() ,它接受一个标签和一个列表或字典,后者包含我们要突出的国家的国别码--人口数。
    # 每次调用add() 都将为指定的国家选择一种新颜色,并在图表左边显示该颜色和指定的标签
    wm.add('0-10m',pop1 )
    wm.add('10m-100m',pop2)
    wm.add('>100m',pop3)
    
    #提交到制定文件
    wm.render_to_file('world_pop.svg')
  • 相关阅读:
    Json对象和字符串互转
    JSNOP调用。。。
    org.hibernate.LazyInitializationException: could not initialize proxy no Session
    myeclipse生成注解实体
    jquery判断浏览器和版本
    JSTL XML标签库
    ORACLE 月份不全,补全月份的sql
    js 上下左右键控制焦点
    google gson使用
    js判断undefined类型
  • 原文地址:https://www.cnblogs.com/ghgxm520/p/8580040.html
Copyright © 2011-2022 走看看