今天教大家玩一个别人没有玩过的东西,用Python晒自己的旅行地图。听起来就很高级,这下要成为朋友圈最亮的仔了。 很多地图都只能显示到省级,无法显示到市级。今天就教大家如何用Python来制作个人的足迹地图,精确到市级的那种噢。(资料在这)
下面的部分,将介绍如何简单地来绘制个人足迹地图。
首先我们需要安装以下Python的第三方模块:
echarts-china-cities-pypkg==0.0.9
echarts-china-provinces-pypkg==0.0.3
pyecharts==1.6.2
PyYAML==5.3.1
完整结构如下:
完整的项目结构
我们在项目中采用YAML文件来配置自己旅行过的省以及省下面的市,笔者的配置文件如下:
北京:
- 延庆区
- 昌平区
- 海淀区
- 东城区
- 西城区
- 大兴区
- 朝阳区
上海: - 嘉定区
- 青浦区
- 松江区
- 宝山区
- 闵行区
- 奉贤区
- 浦东新区
- 崇明区
- 徐汇区
- 黄浦区
- 静安区
- 杨浦区
- 虹口区
- 金山区
- 长宁区
- 普陀区
天津: - 滨海新区
- 南开区
- 河西区
- 和平区
河北: - 保定市
- 廊坊市
山东: - 烟台市
- 青岛市
江苏: - 南京市
- 苏州市
- 扬州市
- 镇江市
- 无锡市
浙江: - 杭州市
- 绍兴市
- 宁波市
- 舟山市
- 湖州市
- 嘉兴市
- 台州市
- 金华市
江西: - 南昌市
- 九江市
安徽: - 黄山市
湖北: - 武汉市
湖南: - 长沙市
海南: - 海口市
- 三亚市
四川: - 成都市
广东: - 湛江市
接着我们利用Python脚本来生成足迹地图。先是全国地图,用于显示省和直辖市的情况,china_map.py的代码如下:
# -*- coding: utf-8 -*-
# author: Jclian91
# place: Pudong Shanghai
# time: 2020/5/31 9:21 上午
# 绘制个人足迹地图:全国范围
import yaml
from pyecharts.charts import Map
from pyecharts import options as opts
# 省和直辖市
with open("travel_config.yml", 'r', encoding='utf-8') as ymlfile:
province_city_dict = yaml.safe_load(ymlfile)
province_dict = dict(zip(province_city_dict.keys(), [1]*len(province_city_dict.keys())))
print(province_dict)
# maptype='china' 只显示全国直辖市和省级
map = Map(init_opts=opts.InitOpts(width