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

  • 相关阅读:
    win10系统u盘安装单个文件超过4g解决办法
    单片机下使用IIC
    uart
    socket
    Linux中 ./configure --prefix命令
    linux下配置安装python3
    linux下的dhcp服务器实现
    安卓出现错误: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
    C语言基础02
    C语言基础01
  • 原文地址:https://www.cnblogs.com/shuchongzeishuai/p/13998561.html
Copyright © 2020-2023  润新知