干货 | 20 行 Python 代码创建可视化地图

干货 | 20 行 Python 代码创建可视化地图

干货 | 20 行 Python 代码创建可视化地图

干货 | 20 行 Python 代码创建可视化地图

当我开始建造Vincent时, 我的一个目的就是使得地图的建造尽可能合理化. 有一些很棒的python地图库-参见Basemap 和 Kartograph能让地图更有意思. 我强烈推荐这两个工具, 因为他们都很好用而且很强大. 我想有更简单一些的工具,能依靠Vega的力量并且允许简单的语法点到geoJSON文件,详细描述一个投影和大小/比列,最后输出地图.

例如, 将地图数据分层来建立更复杂的地图:

干货 | 20 行 Python 代码创建可视化地图

干货 | 20 行 Python 代码创建可视化地图

加之,等值线地图需绑定Pandas数据,需要数据列直接映射到地图要素.假设有一个从geoJSON到列数据的1:1映射,它的语法是非常简单的:

干货 | 20 行 Python 代码创建可视化地图

干货 | 20 行 Python 代码创建可视化地图

我们的数据并非没有争议无需改造——用户需要确保 geoJSON 键与熊猫数据框架之间具有1:1的映射。下面就是之前实例所需的简明的数据框架映射:我们的国家信息是一个列有FIPS 码、国家名称、以及经济信息(列名省略)的 CSV 文件:

干货 | 20 行 Python 代码创建可视化地图

在 geoJSON 中,我们的国家形状是以 FIPS 码为id 的(感谢 fork 自 Trifacta 的相关信息)。为了简便,实际形状已经做了简略,在示例数据可以找到完整的数据集:

干货 | 20 行 Python 代码创建可视化地图

我们需要匹配 FIPS 码,确保匹配正确,否则 Vega 无法正确的压缩数据:

干货 | 20 行 Python 代码创建可视化地图

现在,我们可以快速生成不同的等值线:

干货 | 20 行 Python 代码创建可视化地图

干货 | 20 行 Python 代码创建可视化地图

这只能告诉我们 LA 和 King 面积非常大,人口非常稠密。让我们再看看中等家庭收入:

干货 | 20 行 Python 代码创建可视化地图

干货 | 20 行 Python 代码创建可视化地图

明显很多高收入区域在东海岸或是其他高密度区域。我敢打赌,在城市层级这将更加有趣,但这需要等以后发布的版本。让我们快速重置地图,再看看国家失业率:

干货 | 20 行 Python 代码创建可视化地图

干货 | 20 行 Python 代码创建可视化地图

地图即是我的激情所在——我希望 Vincent 能够更强,包含轻松的添加点、标记及其它的能力。

作者:开源中国

来源:http://www.oschina.net/translate/python-maps-chloropleth?cmp



————广告时间————

马哥教育2017年Python自动化运维开发实战班,马哥联合BAT、豆瓣等一线互联网Python开发达人,根据目前企业需求的Python开发人才进行了深度定制,加入了大量一线互联网公司:大众点评、饿了么、腾讯等生产环境真是项目,课程由浅入深,从Python基础到Python高级,让你融汇贯通Python基础理论,手把手教学让你具备Python自动化开发需要的前端界面开发、Web框架、大监控系统、CMDB系统、认证堡垒机、自动化流程平台六大实战能力,让你从0开始蜕变成Hold住年薪20万的Python自动化开发人才

干货 | 20 行 Python 代码创建可视化地图干货 | 20 行 Python 代码创建可视化地图扫描二维码和更多小伙伴组团学习干货 | 20 行 Python 代码创建可视化地图干货 | 20 行 Python 代码创建可视化地图

干货 | 20 行 Python 代码创建可视化地图

干货 | 20 行 Python 代码创建可视化地图

原创文章,作者:h,如若转载,请注明出处:http://www.178linux.com/86470

(1)
hh
上一篇 2017-09-08 15:13
下一篇 2017-09-08 17:30

相关推荐

  • 基于NFS服务的mariadb数据库实现

    实验要求:     (1) nfs server导出/data/目录;     (2) nfs client挂载/data/至本地的/mydata目录;本地的mysqld或mariadb服务的数据目录设置为/mydata, 要求服务能正常启动,且可正常 存储数据;   (3)用另一台主机,…

    2017-06-11
  • shell-在线翻译脚本

            在linux过程中难免会碰到陌生的单词,此时不得不打开翻译软件或网页请求翻译,但这样切换界面比较麻烦,也浪费时间;         今天头脑发热,尝试着在网上找命令行翻译工具,但无果;…

    2017-02-19
  • 基于keepalived的VRRP协议实现DR模型下的高可用集群

    基于keepalived的VRRP协议实现DR模型下的高可用集群 环境及配置前提说明 4台虚拟服务器都为centos6.8. 主机1,ip:192.168.25.140 做后端RS1,80端口向外部提供web服务 主机2,ip:192.168.25.141 做后端RS2,80端口向外部提供web服务 ip:192.168.25.142为lo:0接口的VIP地…

    Linux干货 2016-11-07
  • 查找 -数据结构

    几种查找算法:顺序查找,折半查找,分块查找,散列表 一、顺序查找的基本思想:  从表的一端开始,向另一端逐个按给定值kx 与关键码进行比较,若找到,查找成功,并给出数据元素在表中的位置;若整个表检测完,仍未找到与kx 相同的关键码,则查找失败,给出失败信息。 说白了就是,从头到尾,一个一个地比,找着相同的就成功,找不到就失败。很明显的缺点就是查找效…

    Linux干货 2015-07-28
  • 系统基础之shell脚本编程详解2

    shell脚本编程2:   在上节我们介绍了shell脚本编程,但只是介绍了基础的内容,下面将为大家介绍shell的脚本的高级用法,判断与循环.判断分为两种:if语句和case语句;循环分为三种:for语句,while语句,until语句,select语句 判断语句:  在脚本的编写中,我们要使用大量的数据和命令,但对于使用的数据,我们要…

    Linux干货 2016-08-19
  • 文件查找——藏的在深也没用

    locate 依赖与事先构建好的数据库查找          系统自动实现(周期性任务)          手动更新数据库(updatedb) 工作特性    …

    Linux干货 2016-08-15

评论列表(1条)

  • 阿张
    阿张 2017-09-09 08:42

    这个技术真心很牛啊