數據可視化‖製作342個城市的三維疫情地圖(附教程)

之前已經做過數據可視化相關的文章教程,今天利用Excel在做一期342各城市的三維疫情圖。

(數據可視化基礎從入門到精通教程:關注後,私信“數據可視化教程”獲取)

數據可視化‖製作342個城市的三維疫情地圖(附教程)

本次數據系網絡手動摘錄,因數據條近萬行,故有可能“數據內容”、“GPS座標”等數值會有出入,歡迎告知。本文只做EXCEL“三維圖表”方面技術分享與交流,數據真實性仍以“國家官方網站”為準!

數據可視化‖製作342個城市的三維疫情地圖(附教程)

1、創建第一張地圖圖表

製作“三維地圖”的方法習慣和我們平時做常規圖表的感覺還是不太一樣的。我們先一起來做一張圖表感受一下效果。

首先確定我們的第一張地圖要做什麼,選中一個主題,我們還是以“各省累計確診病例”開始循序漸進。在剛才的《源數據》表中,插入一個新的SHEET,命名為“各省累計確診病例”。

複製出“省份”一列,粘貼到《各省累計確診病例》工作表中,然後“去重”,再使用SUMIFS函數彙總出“截止到統計日期,各省最後一次公佈的累計確診人數”,得到下表:

數據可視化‖製作342個城市的三維疫情地圖(附教程)

B3單元格函數:

=SUMIFS(源數據!D:D,源數據!A:A,"="&源數據!$G$2,源數據!B:B,A3)

然後雙擊填充柄填充函數到相應區域。

選中數據區域A2:B36,在工具欄中選擇“插入”——“三維地圖”:

數據可視化‖製作342個城市的三維疫情地圖(附教程)

如果是第一次使用“三維地圖”,有可能會提示安裝模塊,按照步驟操作即可,一般來說EXCEL2016版是自帶此模塊的。點選之後,我們就可以進入“三維地圖”界面了,如下圖:

數據可視化‖製作342個城市的三維疫情地圖(附教程)

這個界面的內容非常簡約,大部分的操作都是在圖層設置窗口中操作,而且比常規圖表的格式設置要簡單得多!

按照下圖內容,設置圖層一:

數據可視化‖製作342個城市的三維疫情地圖(附教程)

鼠標懸停在圖表色塊上,還可以顯示數據內容。2

向已有的“三維地圖”添加數據

相對於每日增長的數據,那我們就把治癒率也放入這個“三維地圖圖表”中吧!

新建一張SHEET,命名為“治癒率”,使用函數手段製作數據源,如下:

數據可視化‖製作342個城市的三維疫情地圖(附教程)

C3單元格函數為:

=SUMIFS(源數據!F:F,源數據!A:A,"="&源數據!$G$2,源數據!B:B,A3)

D3單元格函數為:

=IFERROR(ROUND(C3/B3*100,2),0)

(注意治癒率計算公式只做教程使用,數據真實性仍以“國家官方網站”為準!)

選中數據區域A2:D36,還是點擊工具欄中“三維圖表”按鈕,但此時我們需點擊“將選定數據添加到三維地圖”的選項,如下:

數據可視化‖製作342個城市的三維疫情地圖(附教程)

因為我們只有一個“演示”,所以會自動跳轉到“演示”中,如果我們有多個“演示”,那麼會有一個新的窗口,可以選擇添加到指定的“演示”中。

當我們再次來到“三維圖表”界面後,就會發現,此時的圖層設置窗口中,當前的圖層叫做“圖層2”,這個功能和PPT中的感覺很像,我們可以對圖層的“顯示/隱藏”、“名稱”進行操作,還可以“刪掉”這個圖層。

數據可視化‖製作342個城市的三維疫情地圖(附教程)

將剛才的“圖層1”命名“各省累計確診病例”,將現在的“圖層2”更名為“治癒率%”。然後按照下圖的內容設置圖層2。

數據可視化‖製作342個城市的三維疫情地圖(附教程)

任何圖表都是為“數據分析”做服務

這樣的一張地圖,看著是很“炫酷”,但也僅是“耍酷”而已。任何形式的“圖表”都應該是為數據分析做服務的!

我國幅員遼闊,地大物博。但是人口密度、行政區域劃分不盡相同,而且差異還比較大。此次疫情的數據,也是有著這樣的特點,因為疫情波及我國大面積省份,但是隻用“省份板塊”來處理圖表並不太合適,所以我們要細化數據,看看“三維地圖”能不能做出更加細化的圖表,我們準備用“城市”做出此次疫情的分佈圖。

依然需要準備數據源,新建工作表“各城市累計確診病例”,如下圖:

數據可視化‖製作342個城市的三維疫情地圖(附教程)

B3單元格函數如下:

=SUMIFS(源數據!D:D,源數據!A:A,"="& 源數據!$G$2,源數據!C:C,A3)

C3單元格函數如下:

=SUMIFS(源數據!F:F,源數據!A:A,"="& 源數據!$G$2,源數據!C:C,A3)

D列和E列是城市的GPS定位座標的經緯度。建議喜歡“地圖圖表”的朋友們,平時養成蒐集“定位座標”的習慣,此座標系“百度地圖”一個一個城市搜索來的。

對於地圖模型來說,如果單純地用文字表述來做出“區域圖”或者“柱形圖”,有的時候地圖是識別不出來的,比如較偏僻的城市,或者城市名稱不合規,都會造成無法識別,這個叫做“地圖可信度”,所以我們可以採用更加精確的“GPS定位座標”來做這個“地圖圖表”!

數據可視化‖製作342個城市的三維疫情地圖(附教程)

選中數據區域A2:E337,按照上面“添加數據到已有演示”中的方法,繼續添加圖層3,更名為“城市累計確診病例/治癒病例對比”,按照下圖設置此圖層,如圖:

數據可視化‖製作342個城市的三維疫情地圖(附教程)

這裡雖然默認叫做氣泡圖,其實更像是一個“餅圖”,因為可以添加多系列數值進來,藉此完成!

因為武漢的數據是一個相對很大的數字,對於這種數據差異很大的情況,上圖中湖北的數據影響了其他省市的數據展示,所以我們可以再建立一個圖層,將兩組數據的氣泡圖,分別命名為“非湖北”和“湖北”,還是按照上面的操作,我們可以得到下圖,有興趣的可以自己下來操作一下。祝願:圖表中代表治癒的藍色能早日充斥到整個中國被疫情波及的地域。

數據可視化‖製作342個城市的三維疫情地圖(附教程)

高亮顯示”關鍵信息

最後我們再來看看,如何讓“三維圖表”也能夠像“常規圖表”一樣,能把一些比較重要的信息,“高亮顯示”出來。所謂“高亮顯示”就是在一組數據圖表中,如果達到某個標準,就可以自動的更改顏色,起到提示的作用!

在數據表中製作數據源的輔助數據:

數據可視化‖製作342個城市的三維疫情地圖(附教程)

G2單元格輸入函數:

=MAX(A:A)

表示提取最後的發佈日期。

H2單元格輸入函數:

=MAX(A:A)-MIN(A:A)+1

表示提取每個城市連續統計的天數,記得日期相減要加1,這是常識。

I2單元格輸入一個常數:按照標準7-14天,7-14之間的數字,任意填一個

G4單元格輸入函數:

=IF(C4<>C3,D4,D4-D3)

用於統計每日新增量。

H4單元格輸入函數:

{=IF(A4<>$G$2,0,LOOKUP(9^9,N(FREQUENCY(IF(OFFSET(G4,0,0,-$H$2,1)=0,ROW(INDIRECT("$4:$" & $H$2+3))),IF(OFFSET(G4,0,0,-$H$2,1)<>0,ROW(INDIRECT("$4:$" & $H$2+3)))))))}

用於統計截止2月24日,最後一次每日新增量連續為0的次數。這是一個經典用法,但這個函數不太好理解。

I4單元格輸入函數:

=IF(A4<>$G$2,0,IF(H4>=$I$2,$I$2,0))

若連續0增長病例的天數達到I2單元格“標尺”的標準,即顯示I2標尺的值,此作為我們需要高亮顯示的關鍵信息。

建立新工作表,命名為“勝利的顏色”。按如下操作設置數據值。

數據可視化‖製作342個城市的三維疫情地圖(附教程)

B2單元格輸入函數:

=SUMIFS(源數據!I:I,源數據!A:A,"="&源數據!$G$2,源數據!C:C,A3)

選中數據區域A2:B337,添加到“三維圖表”中,按下圖設置。

數據可視化‖製作342個城市的三維疫情地圖(附教程)

綠色的部分就是代表已經連續7天或者7天以上0增加病例。藉此完成,從圖表上來說,現在疫情是向著利好的方向發展的。

作為“地圖類型”的圖表,給了VBA的方式,也給了大家比較簡單的“三維地圖”的操作。雖然總感覺沒有VBA版的地圖圖表做得賞心悅目,但是在做的過程中,作者感覺“三維地圖”的操作比較簡單。雖然在顯示標籤內容的時候還是有所欠缺的,但是相信微軟不會留下這樣的一個BUG給我們,所以它的可研究內容還有很多,大家一起努力吧。


分享到:


相關文章: