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编码时应该注意的几个情况
Mar 04 Python
python装饰器使用方法实例
Nov 21 Python
python测试驱动开发实例
Oct 08 Python
深入理解python try异常处理机制
Jun 01 Python
利用Python命令行传递实例化对象的方法
Nov 02 Python
Python连接SQLServer2000的方法详解
Apr 19 Python
python自动发邮件库yagmail的示例代码
Feb 23 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
Pandas的read_csv函数参数分析详解
Jul 02 Python
Django Channel实时推送与聊天的示例代码
Apr 30 Python
Python pymysql模块安装并操作过程解析
Oct 13 Python
python中如何对多变量连续赋值
Jun 03 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/04/10 PHP
php生成缩略图示例代码分享(使用gd库实现)
2014/01/20 PHP
php魔术变量用法实例详解
2014/11/13 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
js模拟弹出效果代码修正版
2008/08/07 Javascript
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
基于jQuery.Validate验证库知识点的详解
2013/04/26 Javascript
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
js获取下拉列表的值和元素个数示例
2014/05/07 Javascript
JQuery控制div外点击隐藏而div内点击不会隐藏的方法
2015/01/13 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
2015/06/14 Javascript
JS实现刷新父页面不弹出提示框的方法
2016/06/22 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
jQuery EasyUI封装简化操作
2016/09/18 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
vue实现列表的添加点击
2016/12/29 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
nodejs使用http模块发送get与post请求的方法示例
2018/01/08 NodeJs
使用nvm和nrm优化node.js工作流的方法
2019/01/17 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
2019/01/30 Javascript
python实现简单ftp客户端的方法
2015/06/28 Python
python记录程序运行时间的三种方法
2017/07/14 Python
python 换位密码算法的实例详解
2017/07/19 Python
详解python 注释、变量、类型
2018/08/10 Python
Python线程之定位与销毁的实现
2019/02/17 Python
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
python小白学习包管理器pip安装
2020/06/09 Python
房屋租赁委托书范本
2014/10/04 职场文书
个人作风建设心得体会
2014/10/22 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
技术入股协议书
2016/03/22 职场文书
资产移交协议书
2016/03/24 职场文书
详解MindSpore自定义模型损失函数
2021/06/30 Python
vue elementUI批量上传文件
2022/04/26 Vue.js