把數據變吸睛的動畫!用 Flourish 製作全球疫情數據的 Bar chart race

這篇文章記錄了什麼是 Flourish如何取得全球各國的疫情數據透過 Python 進行數據清理、並使用 Flourish 來呈現一個吸睛的資料賽跑圖(Bar chart race)!

如果不會寫程式也沒關係!
只要準備好適當的數據,也能直接到 Flourish 上面進行資料視覺化喔!

話不多說,點擊左下方的播放鍵,讓我們先來看看成果長什麼樣子吧!



關於資料視覺化工具 Flourish

Flourish 是什麼?

Flourish 是一個提供資料視覺化服務的平台,類似 Tableau 那樣,完全不需要寫任何程式碼,只要準備好資料,任何人都可以輕鬆創建很酷、很生動的圖表。

因為它的方便性,使用者人數也快速成長,截至 2022 年 2 月已經有將近 103 萬使用者,產出的圖表也已創造了超過 218 億的瀏覽次數,目前也已經被知名的視覺設計工具 Canva 收購

Flourish 是免費的嗎?

免費註冊!免費製作數量無上限的圖表!

這方面真的是很吸引人,不論是要製作作品集,或是數據分析師想要製作很吸睛的圖表給老闆主管看,免費方案就已經非常足夠。


關於全球疫情數據

數據是從哪來的?

我所使用的數據來自於約翰·霍普金斯大學(Johns Hopkins University)在 Github 上的每日疫情數據,由於每日都會產生一個 CSV 檔,要一次下載有點麻煩,因此我使用了一個可以一鍵下載 Github 指定資料夾的 下載工具,只要輸入資料夾的網址,就可以一次把上千個的 CSV 檔下載下來

另外,為了能夠篩選六大洲,所以我也在 Our World In Data 找到國家名+六大洲分類的資料

最後,要讓 Bar 上面能顯示國旗,需要各國家國旗圖片的 URL,這邊我透過 Country Flags 這個網站來取得。

到這邊我就收集完我所需要的三種數據

  1. 全球疫情確診資料
  2. 全球六大洲分類
  3. 各國國旗圖片

如何清理數據?

我清理的過程主要有三個重點

  1. 讓欄位能符合 Bar chart race 所需
  2. 維持各國名稱的一致性
  3. 整合前述的三種資料來源

實際過程我就不在這邊贅述,完整程式碼可以參考我 Github 的 ipynb 檔


進入 Flourish 資料視覺化的世界

1. 前往 Flourish 免費註冊會員

可以使用 Google 帳號快速註冊

2. 創建 Bar chart race 圖表

註冊完畢就會進入到個人頁面,點擊下圖所示的藍色按鍵「+ New visualisation

往下滑找到 Bar chart race 並點擊(下圖的左1)

這邊可以看一下 Bar chart race 的文件說明

3. 匯入資料

接著上傳已經整理好的資料,並設定欄位,讓 Flourish 能知道各欄位所代表的意思

基本上 Flourish 很聰明,Value 的部分都會自動準確地辨識出是哪些欄位,每個欄位的資料型態(數字123 / 文字 ABC)也都會自動設定好

4. 預覽 Bar chart race 並調整設定

剛剛是在 Data 頁籤上進行操作,現在可以點擊「Preview」來預覽圖表

右側欄有很多設定,這邊就可以依照自己的喜好和需求來做調整,我這邊只展示幾個我有特別調整的部分

Setup

  • No. bars:我這邊設定圖表只顯示 10 個資料
  • Spacing (%):每個 bar 之間留白的空間,越高則相鄰的 bar 之間隔越遠

Color

  • Color mode:我這邊選擇「By category」,因為我想要有六大洲的篩選檢視功能
  • Palette:Flourish 1,如果 Color mode 是選擇「By bar」,可以開啟「Extension」去指定某國家的顏色,例如下方文字框中的「China: red」就是把中國 bar 設定為紅色
  • Bar opacity:Bar 的透明度,越低就越透明

最重要的 Timeline & animation

  • Time duration:
    • 這是一個最影響視覺享受的設定,如果資料時間長度很長,卻只設定很短的時間,那圖表動畫就會看起來很亂
    • 像我的資料是從 2020.01.21 到 2022.11.11,所以設定整體動畫時間為 300 秒我覺得比較剛好
  • Play on load:決定動畫是否為自動播放,我是選擇不開啟,讓使用者自行點擊播放鍵
  • Loop timeline:決定是否自動重播動畫,我個人比較喜歡有明顯播放完畢的感覺,所以我開啟自動播放之外,同時也調高「Pause before loop」的等待時間
  • Title:設定圖表標題,可開啟「Styling」來調整標題大小、粗體、擺放位置等
  • LOGO / IMAGE:可放上自己的代表圖片、頭像或任何圖片,並設定圖片的超連結,當然也是一樣可以調整大小和擺放位置

5. 為你的故事畫龍點睛:Captions

只有單純的 bar 在賽跑,看久了觀眾可能會稍嫌無趣,因此我們可以在某些時間點加上彈出的敘事框,來說明在現階段發生了什麼重大事件,很適合放上數據分析的個人 Insight 洞察

讓我們先暫時離開 Preview 畫面,回到 Data 頁籤的 Captions 設定

可以看到我在不同的起始點,設定了一些我從圖表中所看到的現象

接著回到 Preview 畫面,大概等一兩秒就會看到圖表正中央更新了 Captions 的敘事框,善用這個方法來豐富你想述說的圖表故事吧!


作品成果展示

最後讓我們再來看一次作品的成果吧!

Made with Flourish

作品連結:https://public.flourish.studio/visualisation/11812383/


參考資料

發表留言