空间数据可视化神器keplergl
发布日期:2022/7/4 12:13:35 浏览量:
零基础python入门教程:python666.cn
大家好,欢迎来到 Crossin的编程教室 !
今天给大家介绍一款超赞的空间(地理)数据可视化神器:keplergl
最近偶然发现的这个神器是Uber完全开源的,也是Uber内部进行空间数据可视化的默认工具。
通过其面向Python开放的接口包keplergl,我们可以在jupyter notebook中通过书写Python代码的方式传入多种格式的数据,在其嵌入notebook的交互窗口中使用其内建的多种丰富的空间数据可视化功能。下面有3个主要的学习地址:
1、官网地址:
https://kepler.gl/
2、jupyter notebook使用手册地址:
https://github.com/keplergl/kepler.gl/tree/master/docs/keplergl-jupyter#geojson
3、案例地址:
https://github.com/keplergl/kepler.gl/tree/master/bindings/kepler.gl-jupyter/notebooks

keplergl 的安装是非常简单的,我是一次性装成功的。如果报错,可以网上搜索一下报错信息寻找解决方法,或去教室论坛上讨论。
pip install keplergl
效果图
一大波惊艳图形来了:









from keplergl import KeplerGl
# 创建对象
kep1 = KeplerGl(height=600)
# 激活对象,加载到jupyter notebook中
kep1
可以看到,运行了基本代码后在Jupyter中直接就产生了内置的图形,图形本身也是动态的;暗黑色的背景也很有风格:

添加数据
keplergl默认是可以添加3种形式的数据:
csv
GeoJSON
DataFrame
csv格式
本地目录下有一份csv数据:china.csv,记录的是我国各个省份的经纬度:
with open("china.csv","r") as f:
csv_data = f.read()
# add_data添加数据
kep1.add_data(data=csv_data, name="csv_kep")
kep1

kep1.add_data(data=china, name="dataframe_kep")
kep1

country_gdf = gpd.read_file(url) # geopandas读取json文件
kep1.add_data(data=country_gdf, name="state")
kep1

Keplergl的自定义方法:关键性按钮。进去了之后就可以自定义操作



实例化kep的配置可以保存在后面的实例对象中复用:
1、保存:
# 保存成文件
with open(’config1.py’,’w’) as f:
f.write(’config={}’.format(kep1.config))
# 运行:魔法命令%run
%run config1.py
2、复用
kep2 = KeplerGl(height=400,
data={"layer1":df},
config=kep1.config # kep1的配置
kep2
保存图形
1、简约版本,主要是文件名
kep1.save_to_html(file_name="first_kep.html")
2、完整版本:文件名、配置、数据、可读性
# 4个参数
kep1.save_to_html(file_name="first_kep.html",
data={’data_1’:china},
config=config,
read_only=True
在线操作
上面显示的操作都是在notebook中完成的,我们也可以直接在线操作:
https://kepler.gl/demo


作者:Peter

马上咨询: 如果您有业务方面的问题或者需求,欢迎您咨询!我们带来的不仅仅是技术,还有行业经验积累。
QQ: 39764417/308460098 Phone: 13 9800 1 9844 / 135 6887 9550 联系人:石先生/雷先生