对于可视化地图,Pyecharts是小F以前用的最多的。
还有应该就是一些网站了,现成的工具,不需要敲代码。
在5G手机可视化那一篇文章,也是用Pyecharts做的地图~
而对于Matplotlib,目前小F还没有使用它绘制过地图。
所以在查阅相关资料的时候,又发现了大佬造的轮子。
Python+Selenium+Matplotlib,实现中国地图可视化。
地图数据来源于民政部,真实可靠。
项目地址:https://gitee.com/jixuanfan/Map-of-China
由于小F之前一直用「GitHub」保存代码,压根就没有注册「Gitee」。
而作者的代码以及相关数据是上传到「Gitee」上,需要注册下载。
不想注册那么多账号,所以查了一下在不登录情况下,能否下载项目代码。
CURL,是一个利用URL语法在命令行下工作的文件传输工具。
# 在仓库地址(https://gitee.com/jixuanfan/Map-of-China)
# 后面拼接/repository/archive/master.zip
# 下载本例项目代码
curl -o data.zip https://gitee.com/jixuanfan/Map-of-China/repository/archive/master.zip
Windows或许需要安装,那还是老老实实注册账号,然后下载项目代码。
Mac和Linux应该都是内置CURL,直接使用命令就行,无需安装。
/ 01 / 地图数据获取
Get_Map,基于Python爬虫,主要用到Selenium+正则。
Selenium是一个用于测试网站的自动化测试工具,这里我们主要是用它来模拟浏览器操作,进而获取地图数据。
安装教程网上都有,推荐使用谷歌浏览器,驱动文件和浏览器版本需一致。
获取地图数据的两个接口地址。
# 首页URL,获取当前所有行政区划的代码
http://xzqh.mca.gov.cn/map
# 查询URL,获取国家或省市的具体地图数据
http://xzqh.mca.gov.cn/defaultQuery?
首先是获取行政区划的代码,最小应该是到县一级。
绘制不同类型的地图,所需要的数据获取函数如下。
行政代码不清楚,网上查询一下就好咯~
import Map_of_China as Map
# 创建获取地图数据对象
M=Map.Get_Map()
# 获取首页全国各省的地图数据