1、簡介git
kepler.gl是由Uber開發的進行空間數據可視化的開源工具,是Uber內部進行空間數據可視化的默認工具,經過其面向Python開放的接口包keplergl,咱們能夠在jupyter notebook中經過書寫Python代碼的方式傳入多種格式的數據,在其嵌入notebook的交互窗口中使用其內建的多種豐富的空間數據可視化功能,本文就將針對在jupyter notebook中使用keplergl的基本用法進行介紹。github
2、利用keplergl調用kepler.gljson
2.1 從一個小例子開始工具
首先咱們須要在Python中安裝kepler.gl的Python接口包keplergl,只須要簡單的pip install keplergl便可,若是安裝過程當中遇到與geopandas、fiona相關的錯誤,只須要重裝gdal模塊便可,在完成安裝以後,經過下面的小例子來認識kepler.gl的使用方式:spa
from keplergl import KeplerGl #建立一個KeplerGl對象 map1 = KeplerGl(height=500) #激活KeplerGl對象到jupyter的窗口中 map1
在jupyter notebook中運行完上述代碼後會出現kepler.gl的操做窗口,以下圖所示:3d
點擊左上角的小箭頭即可以展開一個功能豐富的窗體:code
第一個按鈕下包含了跟圖層元素相關的衆多功能,要使用這些功能須要導入數據,利用add_data()方法傳入,它有兩個參數,data用於傳入包含要傳入圖層的全部數據信息(具體的格式下一章節中會作具體介紹),name傳入字符串類型的變量,用於給當前圖層命名,默認爲'unnamed',下面咱們以一個簡單的飛線圖的示例來初步認識利用kepler.gl進行可視化的基本流程:對象
使用到的數據是隨機生成的,除經緯度和地名外其它字段真實以外其餘字段無心義,保存在datatable.csv中,具體以下:blog
在以前已經初始化的map1的基礎上,將數據表讀入並利用add_data()方法傳入做爲圖層layer1:接口
import pandas as pd df1 = pd.read_csv('datatable.csv',encoding='ANSI') map1.add_data(df1,name='layer1')
接着kepler.gl窗體便接收到響應轉變以下:
skpler.gl會對csv格式的文件的字段類型進行推斷,必定要在表明經緯度信息的字段名稱中加上對應的lat、lng部分,不然導入數據後並不能自動識別爲可能的圖形對象,skpler.gl中主要用手動的方式來調整顯示哪些對象、以什麼格式顯示,經過一番簡單的手動調整咱們獲得下面的圖像:
要顯示什麼對象隱藏什麼對象能夠所有依靠手動在菜單欄中調整對應的屬性,也能夠經過json格式傳入config參數來實現,咱們提取上面可視化結果下map1的config參數,再在初始化一個新的窗體時直接用字典傳入參數data爲圖層layer1對應的df1,參數config爲map1.config:
#直接在初始化的時候傳入對應圖層數據和map1的參數config map2 = KeplerGl(height=700,data={'layer1':df1},config=map1.config) map2
能夠看到經過這種方式咱們直接一步就還原了以前完成的可視化結果,經過本小節中這個簡單的小例子,你應該對jupyter notebook中如何調用kepler.gl有了一個初步的認識,接下來咱們在不一樣的例子中總結傳入不一樣格式數據進行可視化的方法。
2.2 繪製GeoJson類型文件
geojson文件是kepler.gl中使用起來最方便的一種數據格式,由於它格式清楚,kepler.gl能夠直接推理出須要執行的可視化方案,下面這個例子使用到kepler.gl所屬的github下notebooks文件下的geojson-data.json,這個geojson文件記錄了位於巴黎的一個多邊形的矢量信息:
import keplergl with open('geojson-data.json', 'r') as f: geojson = f.read() map_1 = keplergl.KeplerGl(height=600,data={'geojson':geojson}) map_1
skpler.gl直接繪製出咱們須要的多邊形,,相似的你能夠根據本身的須要創造出更多的可視化做品,下面的幾個美觀的可視化做品來自kepler.gl的官網:
以上就是本文的所有內容,若有筆誤望指出!