空間數(shù)據(jù)可視化神器keplergl
零基礎(chǔ)python入門教程:python666.cn
今天給大家介紹一款超贊的空間(地理)數(shù)據(jù)可視化神器:keplergl
最近偶然發(fā)現(xiàn)的這個(gè)神器是Uber完全開源的,也是Uber內(nèi)部進(jìn)行空間數(shù)據(jù)可視化的默認(rèn)工具。
通過其面向Python開放的接口包keplergl,我們可以在jupyter notebook中通過書寫Python代碼的方式傳入多種格式的數(shù)據(jù),在其嵌入notebook的交互窗口中使用其內(nèi)建的多種豐富的空間數(shù)據(jù)可視化功能。下面有3個(gè)主要的學(xué)習(xí)地址:
1、官網(wǎng)地址:
https://kepler.gl/
2、jupyter notebook使用手冊(cè)地址:
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 的安裝是非常簡(jiǎn)單的,我是一次性裝成功的。如果報(bào)錯(cuò),可以網(wǎng)上搜索一下報(bào)錯(cuò)信息尋找解決方法,或去教室論壇上討論。
pip install keplergl
效果圖
一大波驚艷圖形來了:









案例入門
import pandas as pd
import geopandas as gpd
from keplergl import KeplerGl
# 創(chuàng)建對(duì)象
kep1 = KeplerGl(height=600)
# 激活對(duì)象,加載到j(luò)upyter notebook中
kep1
可以看到,運(yùn)行了基本代碼后在Jupyter中直接就產(chǎn)生了內(nèi)置的圖形,圖形本身也是動(dòng)態(tài)的;暗黑色的背景也很有風(fēng)格:

添加數(shù)據(jù)
keplergl默認(rèn)是可以添加3種形式的數(shù)據(jù):
csv GeoJSON DataFrame
csv格式
本地目錄下有一份csv數(shù)據(jù):china.csv,記錄的是我國(guó)各個(gè)省份的經(jīng)緯度:
with open("china.csv","r") as f:
csv_data = f.read()
# add_data添加數(shù)據(jù)
kep1.add_data(data=csv_data, name="csv_kep")
kep1

DataFrame格式
china = pd.read_csv("china.csv")
kep1.add_data(data=china, name="dataframe_kep")
kep1

GeoJson格式
url = 'http://eric.clst.org/assets/wiki/uploads/Stuff/gz_2010_us_040_00_500k.json'
country_gdf = gpd.read_file(url) # geopandas讀取json文件
kep1.add_data(data=country_gdf, name="state")
kep1

自定義圖形
Keplergl的自定義方法:關(guān)鍵性按鈕。進(jìn)去了之后就可以自定義操作



配置的保存及復(fù)用
實(shí)例化kep的配置可以保存在后面的實(shí)例對(duì)象中復(fù)用:
1、保存:
# 保存成文件
with open('config1.py','w') as f:
f.write('config={}'.format(kep1.config))
# 運(yùn)行:魔法命令%run
%run config1.py
2、復(fù)用
kep2 = KeplerGl(height=400,
data={"layer1":df},
config=kep1.config # kep1的配置
)
kep2
保存圖形
1、簡(jiǎn)約版本,主要是文件名
kep1.save_to_html(file_name="first_kep.html")
2、完整版本:文件名、配置、數(shù)據(jù)、可讀性
# 4個(gè)參數(shù)
kep1.save_to_html(file_name="first_kep.html",
data={'data_1':china},
config=config,
read_only=True
)
在線操作
上面顯示的操作都是在notebook中完成的,我們也可以直接在線操作:
https://kepler.gl/demo


作者:Peter
_往期文章推薦_
