干货 | 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

相关推荐

  • 马哥教育网络班22期-第4周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@zck ~]# cp -r /etc/skel /home/tuser1 [root@zck ~]# ll -d /hom…

    Linux干货 2016-09-02
  • Linux命令的别名与管道命令的详解

    Linux中命令的别名与管道命令的详解 命令别名 在使用和维护liunx时,将会使用大量的命令,而一些命令加上参数时输入比较繁琐,此时我们可以定义一个别名来代替繁琐的命令。 系统定义的别名 可以输入 alias 命令查看系统中已经定义好的命令的别名; [root@localhost ~]# alias alias cp=’cp -i’ alias egrep…

    Linux干货 2018-03-03
  • shell脚本基础

    shell脚本基础 变量 bash的变量:  环境变量  本地变量  位置变量  特殊变量 本地变量:bash:作用域为整个bash进程 局部变量:作用域为当前代码段 local VARNAME=VALUE 引用变量:${VARNAME} 环境变量:作用域为当前的shell进程及其子进程 export VARNAME=…

    Linux干货 2017-04-16
  • N26-肉肉-第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 常用文件管理命令有cp,mv,rm  cp :copy        -i:交互式复制,覆盖之前提醒用户确认;         &n…

    Linux干货 2017-01-03
  • LV+M

    1、查看分区情况: 2、创建sdc分区,并且更改分区类型为8e  3、同样步骤2操作,创建sdd分区 4、创建物理卷pv: 5、查看当前系统的物理卷: 6、创建卷组vg: 7、查看当前系统的卷组: 8、创建逻辑卷lv: 9、查看当前系统的逻辑卷: 10、创建文件系统ext4: 11、创建目录/mnt/lv1并且挂载: 12、扩展物理卷: 13、扩展…

    Linux干货 2016-09-19

评论列表(1条)

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

    这个技术真心很牛啊