本專案展示如何以動態長條圖的方式,更直觀地呈現不同對象(如候選人、國家、投資報酬率)在時間維度上的變化趨勢。 初期以 Plotly Express 進行概念驗證(效果不佳,後續改用 raceplotly 製作最終成品),使長條圖能隨著時間自動更新,形成連續的「奔跑效果」。
專案說明:本專案聚焦於奔跑的長條圖,不包含進一步的統計分析。
這是我第一次製作奔跑的長條圖,學習到使用索引篩選資料的方式,透過 nlargest 特性取得目標資料的索引後,再使用 loc 提取資料完成篩選。過去多以布林(boolean)條件篩選,這次學會不同的思維方式,這個過程讓我覺得既新鮮又有趣。
這是我第一次製作奔跑的長條圖,學習到如何利用索引方式篩選資料。 透過 nlargest() 取得目標資料的索引後,再使用 loc 提取資料完成篩選。 過去多以布林(boolean)條件進行篩選,這次學會了不同的思考方式,也更理解群組後篩選 Top-N 資料的實作邏輯。 這個過程讓我覺得既新鮮又有趣。
建立環境記錄檔,以利重現專案環境。
conda env export -n bar_chart_race > D:/environment.yml
environment.yml 建立環境:conda env create -f environment.yml
data/ 資料夾中的 113全國投開票所完成時間.xlsx、taiwan_presidential_election_2024.db 與 covid_19.db 放置於專案資料夾的 data/ 資料夾中。create_bar_chart_race_data.py 放置於專案資料夾中。python create_bar_chart_race_plots.py 就能在專案資料夾建立 bar_chart_race_votes.html 與 bar_chart_race_confirmed.html。以下為本專案從資料清理到視覺化的完整實作記錄(含筆記與驗證):