原来炫酷的可视化地图,用Python就能搞定!

对于可视化地图,Pyecharts是我以前用的最多的。

还有应该就是一些网站了,现成的工具,不需要敲代码。

​而对于Matplotlib,目前我还没有使用它绘制过地图。

所以在查阅相关资料的时候,又发现了大佬造的轮子。

Python+Selenium+Matplotlib,实现中国地图可视化。

地图数据来源于民政部,真实可靠。

项目地址:https://gitee.com/jixuanfan/Map-of-China



很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1156465813

由于我之前一直用「GitHub」保存代码,压根就没有注册「Gitee」。

而作者的代码以及相关数据是上传到「Gitee」上,需要注册下载。

不想注册那么多账号,所以查了一下在不登录情况下,能否下载项目代码。

CURL,是一个利用URL语法在命令行下工作的文件传输工具


Windows或许需要安装,那还是老老实实注册账号,然后下载项目代码。

Mac和Linux应该都是内置CURL,直接使用命令就行,无需安装。

/ 01 / 地图数据获取

Get_Map,基于Python爬虫,主要用到Selenium+正则。

Selenium是一个用于测试网站的自动化测试工具,这里我们主要是用它来模拟浏览器操作,进而获取地图数据。

安装教程网上都有,推荐使用谷歌浏览器,驱动文件和浏览器版本需一致。

获取地图数据的两个接口地址。


首先是获取行政区划的代码,最小应该是到县一级。

绘制不同类型的地图,所需要的数据获取函数如下。

行政代码不清楚,网上查询一下就好咯~


数据主要包括形状、形状颜色、形状轮廓、文字、文字位置、标注点形状、标注点位置等。

具体爬取代码、数据解析及函数的相关参数,查看Map_of_China.py文件可知。

/ 02 /  地图数据呈现


Draw_Map,基于Matplotlib绘制地图。

01. 绘制省/地级/县级行政区划的轮廓


得到结果如下。

函数可设置的参数,有线条、填充、背景颜色,以及线宽、标题、图片保存路径等。

02. 绘制全国地图


因为前面已经把全国的地图数据爬取下来,所以这里就省去了下载数据的代码。

得到结果如下。

配色方案,默认设置为民政部官网上的配色

有一些参数和轮廓图相同,不过也添加了一些新的参数。

比如南海地图位置,显示省份名称,省份名称颜色等。

03. 绘制省份地图


对于省份数据,前面我只爬取了江苏省,所以这里需要爬取广东省的地图数据才行。

得到结果如下。

绘制省份地图函数对应的参数有。

code可为省份的2位编码或者名称,此处设置为「广东」。

函数还包含绘制热力图的参数,data和by_val。

arg中的other设置为False时,表现不显示周围省份或城市的地图,默认参数为True,即显示。

04. 地级行政单位地图


得到结果如下。

此处code为地级市的四位编码。

05. 绘制热力图

将不同区域按值的大小填充不同颜色,可惜少了图例。


得到结果如下。

CSV文件具体内容格式如下。

第一列为区域名称或者编码,第二列为数值。

数据处理模块在Map_of_China.py文件中。

参数by_val,绝对大小和相对大小,通常应该都会选择绝对大小这种方式展示的。

就是作者的这个热力图,是没有图例的,等待更新~


TXT格式的数据也能使用。

06. 绘制气泡图


得到结果如下。

气泡颜色默认为黄色,可自定义参数。

发现和Pyecharts好像,相信在修改地图配色文本字体及位置后,地图会变得更好看!

在这里还是要推荐下我自己建的Python开发学习群:1156465813,群里都是学Python开发的,如果你正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2020最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴!

原文地址:https://www.cnblogs.com/shuchongzeishuai/p/13998561.html