干货 | 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)
上一篇 2017-09-08 15:13
下一篇 2017-09-08 17:30

相关推荐

  • 7 文件系统权限(二):权限

    rwx, chmod, chgrp, chown, SUID, SGID, Sticky, chattr, lsattr, umask, ACL, setfacl, getfacl 权限 假设这样几个场景:     1) A用户在/testdir目录中创建了A.txt文件,B用户是否可以删除、修改、移动、重命…

    Linux干货 2016-08-19
  • 文件管理的相关命令使用及标准I/O,管道,diff及文件工具的使用

    mkdir 创建目录-p: 存在于不报错可自动创建所需的各目录 (递归创建)mkdir -p a/d/c/b-m: mode 创建时指定权限  # mkdir -m 777 filename       rmdir删除空目录 -p 递归删除空目录 touch 当文件不存在时,则创建一个空文…

    2017-07-29
  • bash特性及bash脚本编程初步

    bash特性之命令hash 之前我们讲过用户在执行一个命令的时候bash会遍历环境变量$PATH中所有路径来查找执行文件。而命令hash是用来缓存之前用户使用过的命令下次执行的时候直接搜索hash缓存来减少对$PATH变量中路径的遍历次数,从而提高系统运行效率 hash:hash命令     hash:列出 &nbsp…

    Linux干货 2016-12-20
  • bash脚本基础认知

    编程基础:程序:指令+数据                过程式:以指令为中心,数据服务于指令              &nbs…

    Linux干货 2017-03-02
  • keepalived+nginx 模型示例

    原理为: 调度器 利用 keepalived 保持高可用性,实现对系统的监控和VIP 的floating NGINX 利用upstream模块进行调度 关键点: keepalived 对NGINX 状态的监控: //利用配置文件中设定的脚本对调度器的nginx 进程的监控 实验步骤: 基于上一篇LVS-DR架构来做,具体LVS-DR架构请参考上一篇 先设置主…

    2017-05-13
  • Mariadb的主从复制实验和半同步的实现

    1,主服务器需要开启二进制日志记录,并且授权一个用户给从节点。 主服务器的主配置文件[mysqld]内容如下。 [mysqld] port= 3306 socket= /tmp/mysql.sock skip-external-locking key_buffer_size = 256M max_allowed_packet = 1M table_open_…

    2017-09-18

评论列表(1条)

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

    这个技术真心很牛啊