Pygal制作地图

看结果:


Pygal制作地图_第1张图片
Paste_Image.png

这是生成的美洲地图。

import pygal
from pygal_maps_world.i18n import COUNTRIES

wm = pygal.maps.world.World()  #创建地图的实例
wm.title = 'North, Central, and South America'
wm.add('North America', ['ca', 'mx', 'us'])
wm.add('Central America', ['bz', 'cr', 'gt', 'hn', 'ni', 'pa', 'sv'])
wm.add('South America', ['ar', 'bo', 'br', 'cl', 'co', 'ec', 'gf', 'gy', 'pe', 'sr', 'uy', 've'])

wm.render_to_file('americas.svg')

其中wm.add('North America', ['ca', 'mx', 'us'])是把相应的数据加入地图中,wm.render_to_file('americas.svg')把结果渲染保存为svg文件。
其中'ca' 'mx'为国家代码。
可以通过下面的代码查询

from pygal_maps_world.i18n import COUNTRIES

def get_country_code(country_name):
    for code, name in COUNTRIES.items():
        if name == country_name:
            return code
    return None
Pygal制作地图_第2张图片
Paste_Image.png

为了更好的交互,可以在地图上显示一定的信息,如人口信息,这时只用把
wm.add('North America', ['ca', 'mx', 'us'])里面的列表换为字典信息:
wm.add('North America', {'ca':34126000 , 'mx': 113423000, 'us': 309349000})
这里生成的地图就可以显示出现相应的内容,数据大的颜色重一点。小的颜色浅一点,鼠标放在相应的地图国家上会显示出数字。

Pygal制作地图_第3张图片
Paste_Image.png

你可能感兴趣的:(Pygal制作地图)