Python+Kepler.gl实现时间轮播地图过程解析


Posted in Python onJuly 20, 2020

前言

1 简介

Kepler.gl作为一款强大的开源地理信息数据可视化工具,可以帮助我们轻松制作针对大规模矢量数据的可视化作品,从而辅助数据分析工作。

Kepler.gl制作常规地图非常简单方便,稍微摸索一下仪表盘界面就可以get到用法,但有些特殊的地图则需要额外对数据进行处理或使用Kepler.gl中的一些隐藏功能,比如之前写过的Python+Kepler.gl轻松制作酷炫路径动画中介绍过的动态路径地图。本文将要介绍的「时间轮播地图」也是一种比较特殊的地图,下面我们就将结合实际例子进行介绍。

2 Python+Kepler.gl制作时间轮播地图

2.1 实例:Uber出行乘客上下车信息

我们以Uber官方提供的2015年某日纽约乘客上下车数据为例,对应文章开头Github仓库中的data.csv,关于Python+Kepler.gl的环境配置可以回顾Python+Kepler.gl轻松制作酷炫路径动画中的相关内容。

首先我们读入data.csv数据:

import pandas as pd
from keplergl import KeplerGl

raw = pd.read_csv('data.csv')
raw.head()

Python+Kepler.gl实现时间轮播地图过程解析

需要注意我们的数据中除了必要的经纬度点信息之外,包含了tpep_pickup_datetime与tpep_dropoff_datetime两列日期格式的数据,这是绘制日期轮播地图的关键,即我们的数据集中针对每行数据记录必须有与之相对应的时间信息。

数据准备完毕,使用下列代码向外部导出Kepler.gl对应的html文件,因为所有视觉元素我们都单独手动调整,这里只需要将目标数据嵌入html文件即可:

map1 = KeplerGl(height=800, data={'layer1': raw}) # 生成Kepler.gl网页
map1.save_to_html(file_name='时间轮播地图示例1.html', data={'layer1': raw}) # 导出网页

在外部打开前面导出的html文件,初始界面如图2:

Python+Kepler.gl实现时间轮播地图过程解析

首先删除掉侧边栏Kepler.gl自动识别创建出的全部图层,我们自己手动创建所需的图层,以OD线为例:

Python+Kepler.gl实现时间轮播地图过程解析

Python+Kepler.gl实现时间轮播地图过程解析

接着根据数据本身属性进行适当的视觉元素的调整,这部分看个人喜好,具体步骤略过:

Python+Kepler.gl实现时间轮播地图过程解析

接下来到最重要的步骤,打开左上角的筛选面板:

Python+Kepler.gl实现时间轮播地图过程解析

点击「Add Filter」,选择想要作为时间轮播依据信息的字段:

Python+Kepler.gl实现时间轮播地图过程解析

地图右下角随即出现时间轮播部件:

Python+Kepler.gl实现时间轮播地图过程解析

可以在时间轮播部件中设置时间窗口跨度、播放速度等,下面是我制作出的效果,因为动图录制帧数不宜太高,实际比动图中要流畅很多,你也可以自己自由探索:

Python+Kepler.gl实现时间轮播地图过程解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python中的cookielib模拟登录网站
Apr 09 Python
Python爬虫辅助利器PyQuery模块的安装使用攻略
Apr 24 Python
Python决策树和随机森林算法实例详解
Jan 30 Python
Python机器学习之K-Means聚类实现详解
Feb 22 Python
Python中的pack和unpack的使用
Mar 12 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
Aug 02 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
Oct 23 Python
在Python中画图(基于Jupyter notebook的魔法函数)
Oct 28 Python
python实现ftp文件传输系统(案例分析)
Mar 20 Python
Python 如何批量更新已安装的库
May 26 Python
python怎么自定义捕获错误
Jun 29 Python
浅谈python数据类型及其操作
May 25 Python
用pandas划分数据集实现训练集和测试集
Jul 20 #Python
Python数据可视化实现漏斗图过程图解
Jul 20 #Python
浅谈pandas dataframe对除数是零的处理
Jul 20 #Python
为什么说python更适合树莓派编程
Jul 20 #Python
Python faker生成器生成虚拟数据代码实例
Jul 20 #Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
Jul 20 #Python
python pandas dataframe 去重函数的具体使用
Jul 20 #Python
You might like
如何写php守护进程(Daemon)
2015/12/30 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
2019/02/20 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
JavaScript版代码高亮
2006/06/26 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
js中eval详解
2012/03/30 Javascript
javascript中encodeURI和decodeURI方法使用介绍
2013/05/06 Javascript
javascript中全局对象的isNaN()方法使用介绍
2013/12/19 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
微信小程序解除10个请求并发限制
2018/12/18 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
微信小程序实现上拉加载功能
2019/11/20 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
通过vue刷新左侧菜单栏操作
2020/08/06 Javascript
python实现的防DDoS脚本
2011/02/08 Python
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
python设置值及NaN值处理方法
2018/07/03 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
python opencv minAreaRect 生成最小外接矩形的方法
2019/07/01 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
2020/04/26 Python
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
公务员总结性个人自我评价
2013/12/05 职场文书
小学生考试获奖感言
2014/01/30 职场文书
领导干部考察材料
2014/02/08 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
仓库管理员岗位职责
2014/03/19 职场文书
社团活动总结怎么写
2014/06/30 职场文书
优秀大学生自荐信
2015/03/26 职场文书
趣味运动会加油词
2015/07/18 职场文书
幼儿园家长心得体会
2016/01/21 职场文书
导游词之徐州-云龙山
2019/09/29 职场文书
【DOTA2】半决赛强强对话~ PSG LGD vs EHOME - DPC 2022 CN REGIONAL FINALS WINTER
2022/04/02 DOTA