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 文件重命名工具代码
Jul 26 Python
Python获取央视节目单的实现代码
Jul 25 Python
python实现备份目录的方法
Aug 03 Python
详解用TensorFlow实现逻辑回归算法
May 02 Python
python实现按长宽比缩放图片
Jun 07 Python
Python使用sort和class实现的多级排序功能示例
Aug 15 Python
10分钟教你用Python实现微信自动回复功能
Nov 28 Python
在Pycharm中自动添加时间日期作者等信息的方法
Jan 16 Python
Django集成搜索引擎Elasticserach的方法示例
Jun 04 Python
如何通过50行Python代码获取公众号全部文章
Jul 12 Python
python实现七段数码管和倒计时效果
Nov 23 Python
Django设置Postgresql的操作
May 14 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
加速XP搜索功能堪比vista
2007/03/22 PHP
PHP+Ajax+JS实现多图上传
2016/05/07 PHP
JavaScript的Function详细
2006/11/14 Javascript
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
一个js的tab切换效果代码[代码分离]
2010/04/11 Javascript
javascript全局变量封装模块实现代码
2012/11/28 Javascript
Angularjs 基础入门
2014/12/26 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
js制作网站首页图片轮播特效代码
2016/08/30 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
关于Python面向对象编程的知识点总结
2017/02/14 Python
深入理解python中的atexit模块
2017/03/07 Python
Python中%r和%s的详解及区别
2017/03/16 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
Python批量发送post请求的实现代码
2018/05/05 Python
使用python绘制温度变化雷达图
2019/10/18 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
香港士多网上超级市场:Ztore
2021/01/09 全球购物
青年文明号创建承诺
2014/03/31 职场文书
给市场的环保建议书
2014/05/14 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
初二英语教学反思
2016/02/15 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书
python使用pygame创建精灵Sprite
2021/04/06 Python