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中元类用法实例
Oct 10 Python
python基础教程之五种数据类型详解
Jan 12 Python
基于Python log 的正确打开方式
Apr 28 Python
python实现输入数字的连续加减方法
Jun 22 Python
python 随机打乱 图片和对应的标签方法
Dec 14 Python
pyttsx3实现中文文字转语音的方法
Dec 24 Python
Python3 读取Word文件方式
Feb 13 Python
python能开发游戏吗
Jun 11 Python
python安装读取grib库总结(推荐)
Jun 24 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
Feb 18 Python
Python使用tkinter实现小时钟效果
Feb 22 Python
Python+腾讯云服务器实现每日自动健康打卡
Dec 06 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
咖啡语言
2021/03/03 咖啡文化
十天学会php之第八天
2006/10/09 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
纯CSS打造的导航菜单(附jquery版)
2010/08/07 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
自定义百度分享的分享按钮
2015/03/18 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
2016/05/17 Javascript
表单中单选框添加选项和移除选项
2016/07/04 Javascript
bootstrap与Jquery UI 按钮样式冲突的解决办法
2016/09/23 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
react 父子组件之间通讯props
2018/09/08 Javascript
JSON基本语法及与JavaScript的异同实例分析
2019/01/04 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
2020/06/01 Javascript
react ant Design手动设置表单的值操作
2020/10/31 Javascript
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
2018/06/27 Python
python 3.7.0 下pillow安装方法
2018/08/27 Python
Django框架模板介绍
2019/01/15 Python
详解Python odoo中嵌入html简单的分页功能
2019/05/29 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
详解10个可以快速用Python进行数据分析的小技巧
2019/06/24 Python
调整Jupyter notebook的启动目录操作
2020/04/10 Python
中科前程Java笔试题
2016/11/20 面试题
客服部班长工作责任制
2014/02/25 职场文书
群众路线教育实践活动实施方案
2014/10/31 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
手把手带你彻底卸载MySQL数据库
2022/06/14 MySQL
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript