資料來源: 政府開放資料 - 臺北市公共自行車租借紀錄 、 站點經緯度資訊      參考程式碼: 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 在重疊時可以讓使用者看清楚是哪個點。