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编写爬虫的基本模块及框架使用指南
Jan 20 Python
python发送邮件功能实现代码
Jul 15 Python
numpy中以文本的方式存储以及读取数据方法
Jun 04 Python
Python中的异常处理try/except/finally/raise用法分析
Feb 28 Python
Python turtle绘画象棋棋盘
Aug 21 Python
解决python 读取 log日志的编码问题
Dec 24 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
Jan 22 Python
在Mac中PyCharm配置python Anaconda环境过程图解
Mar 11 Python
Python函数的迭代器与生成器的示例代码
Jun 18 Python
Python日志器使用方法及原理解析
Sep 27 Python
用python读取xlsx文件
Dec 17 Python
Python爬取科目四考试题库的方法实现
Mar 30 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防止跨域提交表单
2013/11/01 PHP
PHP中Http协议post请求参数
2015/11/02 PHP
js 页面输出值
2008/11/30 Javascript
JS 判断代码全收集
2009/04/28 Javascript
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
JQuery中Ajax()的data参数类型实例分析
2015/12/15 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
2016/09/17 Javascript
js实现按座位号抽奖
2017/04/05 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
uni-app 支持多端第三方地图定位的方法
2020/01/03 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
[40:06]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第一场
2018/04/04 DOTA
Windows系统配置python脚本开机启动的3种方法分享
2015/03/10 Python
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
python学习之hook钩子的原理和使用
2018/10/25 Python
Keras Convolution1D与Convolution2D区别说明
2020/05/22 Python
python中turtle库的简单使用教程
2020/11/11 Python
HTML5 对各个标签的定义与规定:body的介绍
2012/06/21 HTML / CSS
热能动力工程毕业生自荐信
2013/11/07 职场文书
护士毕业生自荐信
2014/02/07 职场文书
教师专业自荐书范文
2014/02/10 职场文书
计生专干事迹
2014/05/28 职场文书
2014年团支部工作总结
2014/11/17 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书
2015社区健康教育工作总结
2015/05/20 职场文书
环保建议书作文300字
2015/09/14 职场文书
幽默口才训练经典句子(48句)
2019/08/19 职场文书
Python基础详解之描述符
2021/04/28 Python
新手初学Java List 接口
2021/07/07 Java/Android
Redis实现订单过期删除的方法步骤
2022/06/05 Redis
HTML中link标签属性的具体用法
2023/05/07 HTML / CSS