【Tableau教學】3步驟學會金字塔圖(分向長條圖Diverging Bar)

Tableau_Diverging Bar_金字塔圖

這是2019下半年一系列的Tableau圖表教學文,主軸是「什麼樣的資料關係最適合用什麼圖表呈現」,這系列中,你將會學到9大類資料關係、以及每個類別底下最特別的圖表怎麼製作。

➽ 熱門文章參考:Tableau課後FAQ,什麼資料適合用什麼圖表呈現?

➽ 也歡迎加入實力派線上社群活動:【Tableau實作】連續9週主題練習,資料關係&呈現!點此加入Tableau TW知識共享社

本文重點

  1. 什麼時候該強調「離散差異Deviation」的資料關係

  2. Diverging Bar分向長條圖(俗稱金字塔圖),跟常見的長條圖不一樣在哪裡

  3. 重點三步驟跟著一起實作

一、離散差異Deviation的資料關係強調:

相對於一個固定參考值的變化。

特別的是,固定參考值不一定是零,可以是一個目標數值或長期平均值。也可以用來展現類別傾向或觀點(e.g. 正面、負面、中立)

Financial Times上,常見運用範例是:貿易收支、氣候變遷的資料。

根據Tableau全球知名的Zen Master Andy Kriebel在Tableau Public上的經典之作Visual Vocabulary,在這個類別底下共有4個範例圖表,適合用來表達離散差異的資料關係。

我們特別選擇大家從小到大很熟悉的「金字塔圖」(真正的名字叫做分向長條圖) 來做分享,到底這麼熟悉的圖,在Tableau該怎麼實作出來呢?

二、Diverging Bar分向長條圖跟一般長條圖差在哪裡?

提到長條圖,如果要比較兩類族群在同一個維度下的差異, 例如:某選區支持與不支持的人數,最常用的可能是side-by-side chart(或稱 Grouped bar chart)、Stacked Bar chart 堆疊圖等。 ► 這兩個常見長條圖製作可參考:https://reurl.cc/mOjW1

而 Diverging bar 分向長條圖 跟以上兩者不一樣在哪裡?

  1. 能直接用相反方向,來表示兩種類別。若是左右方向的話,也就是同一個子類別放在同一行,可快速做左右比較,也更符合視覺移動左到右的自然傾向。
  2. 向下或向左方的數值不一定代表負值。可以是兩種相反的類型,例如滿意與不滿意、支持與不支持、進口與出口等。
  3. 可以透過與baseline的距離,直接看出整體傾向 (偏右偏左、或偏上篇下)

三、3步驟做出你的第一個金字塔圖Diverging Bar Chart

 

數據條件設定:我們選擇 單一數值(都是正值) 區分成兩組對比組成的情況。

因為如果在某個measure本身就是正負值 (e.g. Profit),那Tableau本來就會自動生成一個標準的分向長條圖 (或分向區域圖)

那就準備開始囉!主要分三步驟:

  1. Create Calculated field 創建計算字段,將一個measure的數值區分兩組(也可以不只分兩組,不只兩組的話,就會變成Diverging Stacked Bar chart)
  2. 拉圖
  3. 調整格式

用Superstore Sales Data為例

Step 1:

選擇一個measure (Sales) 和兩個Dimension (區域、時間),且為了讓第一個練習更簡單,我們篩選東區跟西區。初始配置圖會如下,是一個堆疊長條圖:

Tableau教學_金字塔圖_Step1

Step 2:

創建一個計算字段Create Calculated Field,為了要讓East 和West的方向可以相反

IF [Region]=‘West’

Then -[Sales]

ELSE[Sales]

END

Tableau教學_金字塔圖_step2

Step 3:處理銷售軸的左邊數值改為正值
  1. 直接在Columns上點選SUM(Divergent Sales)選擇Format
  2. 在Scale下的Numbers下選擇Custom
  3. 輸入 #,##0,K ; #,##0,K

Tableau教學_金字塔圖_step3

這裡用到的一個小技巧主要就是 「Tableau Custom Formats」(⇦ 點此參考)

之前我們在「Tableau TW知識共享社」三鐵挑戰(1) 接力活動中的Day 8主題 「3 Ways to Use Alt-Code Characters to Enhance Your Tableau Dashboards」也有提到一點點。

以下擷取自Microsoft知識庫中的數位格式代碼的說明:

當你建立自訂數字格式時,可以指定格式代碼的四個的區段。

這些程式碼區段定義正數、 負數、 零值和文字的格式的順序。

程式碼區段必須以分號 (;) 分隔。

下列範例顯示格式代碼區段四種類型:

四種設定程式碼區段格式的類型

圖說文字 1 正數的數字格式

圖說文字 2 負數的數字格式

圖說文字 3 零的格式

圖說文字 4 文字格式

Tableau教學_金字塔圖_step4

 

 

 

 

 

 

Step 4:最後優化,目標是把銷售日期放在中間

核心概念:先創建一個0軸字段在做雙軸疊在上面做好的分向圖上

  1. 先創建一個計算字段(Placeholder)
  2. 與SUM(Divergent sales)做雙軸並同步雙軸
  3. 把SUM(Placeholder)的mark type改為Text並放入日期

Tableau教學_金字塔圖_step5

 

 

 

 

 

 

 

咱們第一篇的【Tableau 圖表教學系列文】就到這囉,小技巧都有get到了嗎?

► 延伸閱讀參考學習:How to Make a Diverging Bar Chart in Tableau 

【Tableau教學】7種超實用散佈圖Scatter Plot,加入社團免費下載步驟解析工作簿