Power Query從Github上抓取世界疫情的時間序列數據

大家每天都要看一眼的疫情數據,我們在Github上找到了一個數據集csv格式的,我們可以用Power Query取過來作數據可視化。

上圖是頭條的海外疫情地圖,我們今天來做一個隨時間變化的全球疫情變化地圖,效果是這樣的:

首先是數據準備

我們看這個網站的數據:

7小時前更新,時間序列數據,分成三個文件、確診、死亡、治癒。

打開其中的一個文件,內容包括經緯度數據、國家地區、省/州,日期是橫向排列的,是一個矩陣表格,我們還需要降維處理。

數據準備有兩種思路:

一種是直接從第一頁中抓取三個文件地址,然後再打開三個文件連接,取出內容展開表格整理數據,三個表格數據合成為一個表格;一種是直接複製單個文件的地址,抓取文件內容,做出三個表格;

兩種方法都可以,我們用第二種方法,簡單直接。

第二種方法我們需要定義兩個函數,

一個函數是內容提取函數

一個是逆透視整理函數

兩個函數都很簡單,第二個函數引用第一個函數,其實直接寫在一個函數中也可以,像這樣:

然後我們分別把三個文件的url地址引用,得到三個表格,下表是其中確診數據的表格:

加載到數據模型就可以了。

製作可視化圖表

我們要用到三個視覺對象:

Mapbox這個是可定製化程度比較高的地圖可視化對象,建議使用,使用前要到mapbox申請一個KEY,免費的。

Play Axis數據動態演示必備:

卡片圖:


首先我們來作地圖:

三個字段拖放好,然後設置格式:

申請好的key粘貼到Token,Map Style選擇Dark暗色系,下面的Label Positon有兩個選擇,就是地名顯示在最上層,還是下一層。

Circle是氣泡大小顏色設置,Heatmap熱度地圖是設置熱的擴散半徑,以及顏色深淺設置。預覽一下製作效果。

然後作卡片,一個是日期、一個是確診人數,日期沒什麼問題直接顯示最新日期就可以了,確診人數要寫個度量值顯示彙總最新日期的確診人數。

卡片圖取消背景、設置顏色、字體大小就可以了:

最後開始演示:

最下面的是Play Axis,只用日期一個字段,設置也簡單,就是播放速度調整、循環與自動播放設置。

都設置好之後就可以開始錄製了,以上就是今天要講的隨時間變化的疫情地圖製作過程。