Tableau數(shù)據(jù)可視化分析案例
0x00 Tableau簡介
Tableau是一款定位于數(shù)據(jù)可視化敏捷開發(fā)和實現(xiàn)的商務(wù)智能展現(xiàn)工具,可用來實現(xiàn)交互的、可視化的分析和儀表盤應(yīng)用。
Tableau提供了體驗感良好且易用的使用界面,在處理大規(guī)模、多維數(shù)據(jù)時,可以即時從不同角度看到數(shù)據(jù)呈現(xiàn)的規(guī)律。操作簡單,大大降低了技術(shù)門檻,但其呈現(xiàn)出來的效果卻十分優(yōu)秀。
本文圍繞一個使用Tableau進行可視化的實例,介紹了Tableau中一些基礎(chǔ)概念和繪圖的簡單操作,下面一起開始可視化之旅吧~
0x01 奧運會數(shù)據(jù)集可視化
數(shù)據(jù)來源:Kaggle"120 years of Olympic history: athletes and results"數(shù)據(jù)集。
包括athlete_events.csv和noc_regions.csv兩個文件,有從1896年雅典奧運會到2016年里約奧運會的每一屆奧運會的數(shù)據(jù)。
athlete_events.csv文件包含15個字段、271116條記錄。每一條記錄對應(yīng)一位在一項奧運會項目中參賽的運動員。具體字段及對應(yīng)含義如下:
ID - 運動員ID編號 Name - 運動員姓名 Sex - 性別 Age - 年齡 Height - 身高(cm) Weight - 體重(kg) Team - 隊伍名稱 NOC - 國家奧委會編碼 Games - 奧運會年份和季節(jié) Year - 年份 Season - 季節(jié) City - 主辦城市 Sport - 體育運動 Event - 比賽項目 Medal - 獲獎情況(金、銀、銅、未獲獎)
noc_regions.csv描述的是國家奧委會編碼與具體的國家(/地區(qū))名稱的對應(yīng)關(guān)系。包含3個字段,分別是NOC國家奧委會編碼、regions國家(/地區(qū))具體名稱及notes備注。
1 數(shù)據(jù)連接與管理
打開Tableau,會進入到數(shù)據(jù)源界面,可進行如下幾個操作:
數(shù)據(jù)連接
Tableau可連接Excel、文本文件、JSON文件、空間文件(Shapefile、GeoJSON文件等)、統(tǒng)計文件等多種本地數(shù)據(jù)源。在連接數(shù)據(jù)源時,如果僅需要使用部分數(shù)據(jù),也可對數(shù)據(jù)進行篩選。
數(shù)據(jù)整合
Tableau可對來自不同數(shù)據(jù)表的數(shù)據(jù)實現(xiàn)多表合并(行)、多表聯(lián)接(列)及多個數(shù)據(jù)源的融合。
行合并通過【新建并集】實現(xiàn),使用并集合并的表需要有相同的結(jié)構(gòu),即相同字段數(shù),且相關(guān)字段名稱和數(shù)據(jù)類型匹配。
列合并通過【聯(lián)接】實現(xiàn),需要選擇同名字段作為關(guān)聯(lián)字段,有四種聯(lián)接類型,即內(nèi)部、左側(cè)、右側(cè)、完全外部聯(lián)接,默認是內(nèi)部聯(lián)接。
注:在2020.2之后的版本中,數(shù)據(jù)源使用的數(shù)據(jù)模型具有兩個層:一個邏輯層(在其中關(guān)聯(lián)表),一個物理層(在其中聯(lián)接或合并表)。更推薦使用【關(guān)系】來連接數(shù)據(jù),關(guān)系是一種更靈活、動態(tài)的方式,根據(jù)關(guān)聯(lián)字段確定聯(lián)接可能性,而不創(chuàng)建新的固定表。
數(shù)據(jù)加載
Tableau有兩種加載數(shù)據(jù)的方式,一是實時連接,從數(shù)據(jù)源獲得查詢結(jié)果;另一種是數(shù)據(jù)提取,將數(shù)據(jù)提取到Tableau數(shù)據(jù)引擎中進行管理。

將兩張表的數(shù)據(jù)加載至Tableau,會基于NOC字段自動進行連接。在數(shù)據(jù)源界面可查看前1000行數(shù)據(jù),并進行一些重命名、排序等基本操作。數(shù)據(jù)預(yù)處理導(dǎo)入完畢,下面就可以大展身手,正式開始可視化啦!
2 圖表繪制
1) 折線圖
基于運動員的ID和年份字段,來繪制一個各屆參賽運動員數(shù)變化的折線圖。
新建一個工作表。可以看到如下幾個功能區(qū)。

數(shù)據(jù)窗口
導(dǎo)入Tableau的數(shù)據(jù)會被自動劃分為【維度】和【度量】。在連接數(shù)據(jù)時Tableau會對各個字段評估劃分,如果分配與實際情況不符,例如運動員ID被認為是度量,可右鍵進行轉(zhuǎn)換。
維度通常是分類、時間等定性的離散數(shù)據(jù),將其拖放至功能區(qū)不會被計算,而會對視圖進行分區(qū)。度量通常是數(shù)值數(shù)據(jù),拖放至功能區(qū)會默認進行聚合計算(總和、平均值、計數(shù)等)。
Tableau支持多種字段類型,維度中包括文本、日期、日期和時間、地理值、布爾值;度量中包括數(shù)字、經(jīng)緯度(當數(shù)據(jù)包含地理類型名稱會自動生成)。
行列功能區(qū)
對應(yīng)X、Y軸數(shù)據(jù)。
將Year拖至列,運動員ID拖至行,ID被默認為離散類型,生成的圖表如下:

下面將ID的類型改為度量→計數(shù)(不同),Y軸即為每屆奧運會運動員的總?cè)藬?shù)。但由于原文件夏季奧運會和冬季奧運會數(shù)據(jù)是混合的,故折線圖形狀明顯異常。

標記卡
Tableau中,定義圖表中的形狀、顏色、大小、標簽等屬性,通過標記卡完成。
【顏色】和【大小】會根據(jù)放入字段數(shù)值相應(yīng)改變。顏色和大小只能放入一個字段,但是【標簽】可放入多個。
【詳細信息】會根據(jù)拖放的字段對視圖細化。
【工具提示】即可“對當光標移到視圖某個標記顯示的標記信息”的內(nèi)容進行編輯。
將Season拖至標記卡中的【顏色】,就能看到夏季和冬季的數(shù)據(jù)分成了兩條折線,每個類型對應(yīng)一種顏色,并自動生成圖例,完成了一幅基本的折線圖。

對圖表標題、顏色、坐標軸標簽、坐標軸范圍等進行設(shè)置,只需點選預(yù)覽即可。最終效果如下:

同理繪制各屆賽事項目數(shù)、各界參與國家數(shù)折線圖。


2) 堆疊面積圖
生成過程與折線圖基本相同,只需修改圖表類型。在Tableau界面右端有一個【智能推薦】按鈕,可快速創(chuàng)建基本圖形,光標移動到圖形上就會顯示字段要求。
效果如下:

3) 柱狀圖/條形圖
以繪制獎牌數(shù)排名前15國家的得獎情況的柱狀圖為例。
首先將Medal和Region分別拖入行列功能區(qū),Medal類型改為度量→計數(shù)。因為國家數(shù)太多,生成的柱狀圖太長,圖表不便于查看,下面基于新建計算字段對顯示的國家進行篩選。

計算字段
計算字段是根據(jù)數(shù)據(jù)源字段使用運算符和函數(shù)構(gòu)造公式來定義字段。
運算符支持加減乘除等所有運算符。函數(shù)包括數(shù)字、字符串、日期、類型轉(zhuǎn)換等各類Tableau自帶計算函數(shù)。
因為預(yù)處理對Medal的空缺值進行了填充,若直接對其進行計數(shù),實際上結(jié)果等于“各國參與運動員數(shù)”,與期待的“各國獎牌數(shù)”不符。故先基于Medal新建一個計算字段Medal_Num。在數(shù)據(jù)區(qū)域Medal上右擊創(chuàng)建→計算字段,輸入表達式如下,然后對Medal計數(shù)即可。


篩選器
篩選器可對全量數(shù)據(jù)進行篩選,有常規(guī)、通配符、條件、頂部四種,可根據(jù)各種需要對數(shù)據(jù)進行篩選。
這里只篩選顯示獎牌數(shù)前15的國家。將Region拖入篩選器,自動彈出篩選器對話框,選擇頂部。按Medal_Num字段,計數(shù),篩選出前15個國家。然后再將國家基于Medal_Num字段降序排序。

將Medal拖入標記卡中的顏色,即可生成堆疊柱狀圖,其中金銀銅及未獲獎按不同顏色顯示。再將Medal拖入篩選器,選擇不顯示"No Medal";在篩選器上右鍵,選擇顯示篩選器,篩選器就在視圖左側(cè)顯示。堆疊柱狀圖效果如下:

各屆男女運動員人數(shù)柱狀圖、奧運會獎牌數(shù)條形圖繪制類似。由于時間跨度長,可添加一個基于Year的篩選器,只展示特定時間區(qū)間的數(shù)據(jù)。
4) 箱線圖
箱線圖可以反映數(shù)據(jù)的基本統(tǒng)計特征,包括最大最小、上下四分位數(shù)、中位數(shù)等。以繪制各屆奧運會運動員身高分布的箱線圖為例。
將Year和Height分布拖入行列功能區(qū),在視圖右側(cè)智能推薦選擇箱線圖,會得到一些離散分布的線。

需要在菜單分析欄,取消聚合度量,即可生成一幅箱線圖。觀察到數(shù)據(jù)集中于圖表上部,對縱軸的坐標范圍進行設(shè)置,還可添加基于性別的篩選器,最終效果如下:

5) 餅圖
以男女運動員比例餅圖為例。
在標記卡中選擇餅圖,將字段ID拖入角度,數(shù)據(jù)類型改為度量→計數(shù)(不同),會生成一個圓形,但是還未顯示男女比。繼續(xù)將Sex拖入顏色和標簽,添加Year篩選器,效果如下:

3 圖表組合、布局
將上面繪制的圖表,按照相似主題,組合成儀表板。
儀表板支持在單一面板多個工作表的集合,便于同時比較監(jiān)測數(shù)據(jù),通過添加篩選器、突出顯示等操作,還可實現(xiàn)數(shù)據(jù)的下鉆,交互性更強。
在Tableau中,文本、圖像、網(wǎng)頁、空白都可被當作對象添加至儀表板中。
【布局容器】是儀表板布局的框架,分為水平和垂直兩種,用來放置工作表、篩選器、圖例、文本等。
【布局方式】有平鋪和浮動兩者。默認的平鋪方式,即所選工作表或?qū)ο笃叫蟹植迹ゲ徽谏w。浮動布局則更為自由,可隨意調(diào)整對象大小及位置,以實現(xiàn)更好效果。
布局流程一般是,添加布局容器,然后在容器中添加內(nèi)容,再添加另一布局容器。

下面以各項目運動員分布情況儀表板為例,其余布局類似。
首先新建儀表板,拖入一個水平容器,添加"參與人數(shù)前15的運動項目"氣泡圖,會默認添加氣泡圖及圖例。然后在下面再添加一個水平容器,添加各屆男女運動員人數(shù)條形圖及比例餅圖,如下:

注:Tableau布局容器和工作表間的包含、并列關(guān)系需要小心琢磨,有時候看似一樣的布局結(jié)構(gòu),但是其背后的布局邏輯卻是不相同的。
設(shè)置儀表板上篩選器的作用范圍,應(yīng)用于儀表板上的所有表,單一篩選器即可對該儀表板上的所用表進行篩選。

還可對儀表板上的某一工作表"使用篩選器",那么單擊該表部分,其余表則會相應(yīng)顯示該部分的數(shù)據(jù)。如選中"Swimming",那么另外兩個圖表則會相應(yīng)顯示Swimming項目各屆男女運動員參與人數(shù)及比例。

4 可視化結(jié)果
經(jīng)過上面一系列簡單的圖表繪制、組合的操作,主要圍繞奧運會總體情況概覽、獎牌總數(shù)前15名國家情況、各項目運動員分布情況、運動員身體情況四個主題來創(chuàng)建儀表板,就可以得到以下結(jié)果啦!
a. 總體情況概覽

b. 獎牌總數(shù)前15名國家情況

c. 各項目運動員分布情況

d. 運動員身體情況

0x0F 總結(jié)
Tableau對數(shù)據(jù)的管理、呈現(xiàn)類似Excel中的數(shù)據(jù)透視表,操作簡單、易上手,僅需要拖拽字段就可進行可視化分析,效果美觀,因此廣受歡迎。
本文僅介紹了最基礎(chǔ)的部分,實際上Tableau還可進行創(chuàng)建分組、集、聚類分析、回歸分析、時間序列等高級操作,大家可以繼續(xù)探索學(xué)習(xí)~
其官網(wǎng)提供了豐富的學(xué)習(xí)資源,對初學(xué)者非常友好。不僅如此,學(xué)習(xí)的另一途徑就是模仿優(yōu)秀作品,Tableau還擁有活躍的、高質(zhì)量的社群,各路可視化大神都會在上面交流分享自己的作品,對我們開拓思路、精進可視化效果都有很大幫助。
注:本文的Tableau工作簿已經(jīng)上傳至Tableau Public,感興趣的朋友可以前往查看~
網(wǎng)址:https://public.tableau.com/profile/meetywy#!/vizhome/120yearsofOlympichistory_16069878256050/120yearsofOlympichistory

推薦閱讀
歡迎長按掃碼關(guān)注「數(shù)據(jù)管道」
