原来炫酷的可视化地图,用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的小伙伴!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值