首页 » 编程语言 » 如何用Python实现可视化地图

如何用Python实现可视化地图

 

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

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

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

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

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

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

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

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

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

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

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

原文链接:如何用Python实现可视化地图,转载请注明来源!

4