暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

技术专栏丨如何使用Folium库可视化地理空间数据

TalkingData 2019-02-21
441

数据可视化是一个广泛的术语,指通过将数据置于可视化的环境,来帮助人们理解数据重要性。在文本中不容易被注意到的模式,趋势和相关性可以通过可视化轻松的显示。它是数据科学家工具箱中一个基本的工具。创建可视化非常简单,但创建好的可视化是非常困难的。简单而有效的可视化需要注重细节配合丰富的专业知识。

在前面的文章中,我们谈到了数据可视化该如何避坑,今天我们再来说一说,如何使用强大的可视化工具和库来重新定义可视化。

比如Python,它为每个数据可视化需求提供了库。其中一个是Folium,它可以方便地显示地理数据。地理数据科学是数据科学的子集,处理基于位置数据,即对象的描述及其在空间中的关系。


Folium介绍

Folium是Python中功能强大的数据可视化库,主要用于帮助人们可视化地理空间数据。使用Folium,只要知道其纬度和经度值,就可以创建世界上任何位置的地图。此外,Folium创建的地图本质上是交互式的,因此可以在渲染地图后放大和缩小,这是一个非常有用的功能。

Folium建立在Python生态系统的数据清洗和Leaflet.js库的映射优势之上。数据在Python中操作,然后通过folium在Leaflet地图中可视化。

在使用Folium之前,可选择以下两种方法之一安装:

或者

下载数据集

我们将使用世界发展指标数据集演示,这是一个Kaggle上的开放数据集。我们将使用数据集中的'indicators.csv'文件。

此外,由于我们正在处理地理空间地图,我们还需要国家坐标文件进行绘图。(该文件也可以从作者的Github下载。地址在文末)

探索数据集

世界发展指标数据集是在世界银行真实可用的数据集上做了略微修改的版本。数据跨度为1960年到2015年,它包含了一千多个年度经济发展指标,覆盖全球247个国家的。其中几个指标是:

1.青少年生育率(每1000名妇女的分娩数)

2.二氧化碳排放量(人均公吨)

3.商品出口

4.建造仓库所需的时间(天)

5.总税率(商业利润的百分比)

6.出生时预期寿命,女性(年)

开始
  • 创建jupyter笔记本,导入folium等库

  • 建立国家坐标

  • 读入数据库并浏览数据库

代码:

我们获得以下内容。似乎不同国家的指标集中有不同的指标,还包含了指标的年份和值。

出生时的预期寿命,女性(年)似乎是调查的良好指标。那么,我们随机选择了2013年,提取这一年所有国家的预期寿命数据。

另外,我们仅保留国家代码和要绘制的值来作为我们的绘图数据。我们还需要提取指标的名称,以用作图中的图例。

代码:

使用Folium创建交互式地图

现在我们以相当高的缩放级别来创建Folium交互式地图。使用名为choropleth的内置方法来添加国家/地区的地理json和绘图数据。

代码:

我们还需要指定相关参数。'key on'参数代表json对象中的标记,该标记将国家代码作为独有的ID附加到每个国家的边界信息。这是我们需要在数据中设置的对应关系。数据框中的国家/地区代码应与json对象中的要素ID应该是匹配的。

接下来,我们做一些设计工作,如配色方案,不透明度,然后标记图例。

该图的输出实际上将保存为交互式的html文件。因此,我们需要做的是保存它并将其读回到笔记本中,以便在地图上与它进行交互。

代码:

我们将获得如下地图:

现在我们有了地图。首先,颜色越暗代表女性的预期寿命更长。显然,美国和大多数欧洲女性的预期寿命较长。

因此,这是一个如何进行地理叠加的示例。它也是如何使用其他可视化库以及它们如何根据我们的可视化需求而变得强大的示例。

这是非常简单的使用Pandas data frame和Folium做等值区域地图的第一步。您可以在官方文档页面上详细了解folium及其提供的交互性。

要查看地图的实际交互性,可访问作者的Github:

https://github.com/parulnith/Visualising-Geospatial-data-with-Python

原文作者:Parul Pandey

翻译:TDU

inMap & iView

除此之外,我们还可以通过TalkingData的inMap & iView进行地理信息可视化:

0
1
inMap

inMap是TalkingData可视化团队开源的一款基于 Canvas 的大数据可视化库,专注于大数据方向的散点、热力图、网格、聚合等方式展示,致力于让大数据可视化变得简单易用。

官网:http://inmap.talkingdata.com

GitHub:https://github.com/TalkingData/inmap

0
2
iView
iView 是TalkingData可视化团队开源的一套基于 Vue.js 的 UI 组件库,主要服务于 PC 界面的中后台产品。

官网:https://www.iviewui.com

GitHub:https://github.com/iView/iView


小编推荐:

说到地理信息可视化,今天必须推荐的两个视频,来自TalkingData的系列栏目《数中生智》

通过地理信息可视化进行商业选址——
零售企业的选址之痛,你有“药”吗?

数据可视化的前世今生——
7分钟视频,3大方面,让我们来聊聊数据可视化这件事儿

相关阅读:

数据可视化:警告!警告!您已进入雷区

盘点 | 2018年度最佳数据可视化作品都在这了!

inMap 2.0 重磅发布!基于 canvas 的大数据可视化库


↓↓↓  点击阅读原文,查看英文原文

文章转载自TalkingData,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论