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

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

March 28, 2024

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

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

本文重點

  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

Stay Informed with Our Newsletter

Get a summary of what we’ve shipped during the last month, behind the scenes updates, and team picks.

Thank you! Your subscription has been received!
Oops! Something went wrong. Please try again.
By submitting your email address, you agree to receive PGi’s monthly newsletter. You can always withdraw your consent.

Related Blog