Pygal制作地图

看结果:


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
Paste_Image.png

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

Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容