1. 程式人生 > >(資料科學學習手札90)Python+Kepler.gl輕鬆製作時間輪播圖

(資料科學學習手札90)Python+Kepler.gl輕鬆製作時間輪播圖

> 本文示例程式碼及資料已上傳至我的`Github`倉庫[https://github.com/CNFeffery/DataScienceStudyNotes](https://github.com/CNFeffery/DataScienceStudyNotes) # 1 簡介   `Kepler.gl`作為一款強大的開源地理資訊資料視覺化工具,可以幫助我們輕鬆製作針對大規模向量資料的視覺化作品,從而輔助資料分析工作。   `Kepler.gl`製作常規地圖非常簡單方便,稍微摸索一下儀表盤介面就可以get到用法,但有些特殊的地圖則需要額外對資料進行處理或使用`Kepler.gl`中的一些隱藏功能,譬如之前寫過的[(資料科學學習手札85)Python+Kepler.gl輕鬆製作酷炫路徑動畫](https://www.cnblogs.com/feffery/p/12987968.html)中介紹過的動態路徑地圖。本文將要介紹的**時間輪播地圖**也是一種比較特殊的地圖,下面我們就將結合實際例子進行介紹。 # 2 Python+Kepler.gl製作時間輪播地圖 ## 2.1 例項:Uber出行乘客上下車資訊   我們以`Uber`官方提供的2015年某日紐約乘客上下車資料為例,對應文章開頭`Github`倉庫中的`data.csv`,關於`Python+Kepler.gl`的環境配置可以回顧[(資料科學學習手札85)Python+Kepler.gl輕鬆製作酷炫路徑動畫](https://www.cnblogs.com/feffery/p/12987968.html)中的相關內容。   首先我們讀入`data.csv`資料: ```Python import pandas as pd from keplergl import KeplerGl raw = pd.read_csv('data.csv') raw.head() ```
圖1
  需要注意我們的資料中除了必要的經緯度點資訊之外,包含了`tpep_pickup_datetime`與`tpep_dropoff_datetime`兩列日期格式的資料,這是繪製日期輪播地圖的關鍵,即我們的資料集中針對每行資料記錄必須有與之相對應的時間資訊。   資料準備完畢,使用下列程式碼向外部匯出`Kepler.gl`對應的html檔案,因為所有視覺元素我們都單獨手動調整,這裡只需要將目標資料嵌入html檔案即可: ```Python map1 = KeplerGl(height=800, data={'layer1': raw}) # 生成Kepler.gl網頁 map1.save_to_html(file_name='時間輪播地圖示例1.html', data={'layer1': raw}) # 匯出網頁 ```   在外部開啟前面匯出的html檔案,初始介面如圖2:
圖2
  首先刪除掉側邊欄`Kepler.gl`自動識別創建出的全部圖層,我們自己手動建立所需的圖層,以OD線為例:
圖3
圖4
  接著根據資料本身屬性進行適當的視覺元素的調整,這部分看個人喜好,具體步驟略過:
圖5
  接下來到最重要的步驟,開啟左上角的篩選面板:
圖6
  點選**Add Filter**,選擇想要作為時間輪播依據資訊的欄位:
圖7
  地圖右下角隨即出現時間輪播部件:
圖8
  可以在時間輪播部件中設定時間視窗跨度、播放速度等,下面是我製作出的效果,因為動圖錄制幀數不宜太高,實際比動圖中要流暢很多,你也可以自己自由探索:
圖9
---   對於其他格式的資料譬如`GeoJSON`,同樣適用,只需要屬性表中一定存在時間型別資訊即可,以上就是本文的全部內容,歡迎在評論區與我們進行