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自动格式化json文件的方法
Mar 11 Python
Python实现设置windows桌面壁纸代码分享
Mar 28 Python
python中nan与inf转为特定数字方法示例
May 11 Python
python登录并爬取淘宝信息代码示例
Dec 09 Python
Python实现拷贝/删除文件夹的方法详解
Aug 29 Python
Window 64位下python3.6.2环境搭建图文教程
Sep 19 Python
python爬虫之urllib库常用方法用法总结大全
Nov 14 Python
Python中使用logging和traceback模块记录日志和跟踪异常
Apr 09 Python
python多线程下信号处理程序示例
May 31 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
PyTorch中常用的激活函数的方法示例
Aug 20 Python
python+adb+monkey实现Rom稳定性测试详解
Apr 23 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
正则表达式语法
2006/10/09 Javascript
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
实测在class的function中include的文件中非php的global全局环境
2013/07/15 PHP
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
php+mysql实现数据库随机重排实例
2014/10/17 PHP
php发送邮件的问题详解
2015/06/22 PHP
PHP制作登录异常ip检测功能的实例代码
2016/11/16 PHP
javascript attachEvent和addEventListener使用方法
2009/03/19 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
jQuery性能优化的38个建议
2014/03/04 Javascript
理解javascript中的回调函数(callback)
2014/09/02 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
2016/10/11 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
2017/02/21 Javascript
Vue实现点击后文字变色切换方法
2018/02/11 Javascript
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
ES6 Object属性新的写法实例小结
2019/06/25 Javascript
JavaScript实现答题评分功能页面
2020/06/24 Javascript
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
Python中实现参数类型检查的简单方法
2015/04/21 Python
Python用threading实现多线程详解
2017/02/03 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
Python实现搜索算法的实例代码
2020/01/02 Python
python zip()函数的使用示例
2020/09/23 Python
使用pandas实现筛选出指定列值所对应的行
2020/12/13 Python
环境工程大学生个人的自我评价
2013/10/08 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
教师党员个人剖析材料
2014/09/29 职场文书
工作年限证明模板
2014/11/01 职场文书
2015年车间安全管理工作总结
2015/05/13 职场文书
赢在执行观后感
2015/06/16 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
创业计划书之书店
2019/09/10 职场文书