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