台北市文山區 Youbike 各站點使用量泡泡圖 🚴🏻‍♂️

資料來源: 政府開放資料 - 臺北市公共自行車租借紀錄站點經緯度資訊      參考程式碼: Bubble map

🕒 選擇一天中的時段

說明與分析結果

       本次實作是以 D3 js 動態圖為目標,目的是熟悉如何使用 D3js 讓圖表可以與使用者互動。 我這邊使用到的是台北市 2021 年 11月 的 Youbike 資料,主要以文山區的站點為主。 目標是透過結合 leaflet 的地圖和 D3js 的動態回饋,去呈現文山區 2021 年 11 月在不同時間區間, 各站點使用量的變化。
       原始的資料為點到點 trip-base 的資訊,在使用 python (下載程式碼) 將資料處理成每個站點在11月中統計下來的每個小時的流量。 不管是租借站點或是歸還站點,皆會算是該站點該時段的使用量。為了呈現各小時不同點使用量的相對關係與變化, 這邊使用 max-min Normalization 的方式將值域縮減到 [0,1]。相對於數量,比例可以方便後續去調整 circle 的大小。

各站點每小時的使用比率,公式如下:

       這邊 Xmax 和 Xmin 分別為該小時所有站點的最大值和最小值 ,x 則為該站點在該小時的使用量。此種作法雖然可以明顯看到站點的相對使用量關係,但是無法看到整體使用量的變化。 之後會再改善計算方式讓此數值可以考慮到。

設計選擇

       在設計的選擇上,因為資料本身包含地理資訊。所以選擇以地圖和點的位置去表示位置關係。為了表示不同站點間的使用量大小關係, 使用 circle 大小 去表示各站點的使用量。

設計考量

       在設計考量下,為了凸顯個站點在對應時段的相對量,圈圈的 size 是基於當個時段的最大值和最小值去做調整, 藉此讓畫 circle 時可以直接對應到一個固定比例。不會有大到覆蓋到整個畫面的情況,血也可以更明顯得表示該時段 各站點間的使用量關係。此外,在 circle 中間有刻意增加透名度,讓 circle 在重疊時可以讓使用者看清楚是哪個點。