本文數據來源和內容參考:https://www.dataplusscience.com/BarHopping.html
我的作品展示(可下載):
https://public.tableau.com/profile/chentianwei#!/vizhome/-_15875484671570/1
全家福:
和原文區別:
- 原圖作者並沒有給出作圖細節。
- 我重點對部分圖形給出詳細的操作步驟,有需要的同學可以參考。
- 難度系數:
- 高--空心棒棒糖
- 中--外邊框內空的條圖,圓角的條圖
- 低--橫T圖,cleveland圖, Unit chart
外邊框內空的條形框
本質就是完全相同的2個條形圖,使用雙軸+同步軸。形成嵌套
其中一個顏色純白,並調整標記->"大小"。把上下(高)調整小。
然后,左右(寬)也要調小。方法是把這個條圖對應的列“總和(sales)”+0.03。
具體還要微調。
rounded bar 圓角的條形圖
⚠️:tableau的”軸“指的是連續的度量/維度。“標題”指的是離散的度量/維度。
首先:
使用“線”圖,因為線圖的角是圓的。tableau的線圖會把所有的端點通過線來連接。有三種模式:
其次:
使用“度量值”來作為列的唯一膠囊。 度量值內包括2個膠囊:0和(SUM([Sales]) / TOTAL(SUM([Sales])))
這樣,就只會在展板上畫出一張圖。這是tableau的特點。🌿
最后,是其他必要步驟:
- 行:Region膠囊
- “標記”卡內,添加上Color。添加上“標簽label”。
- 生成一張有缺陷的圖。
把"總和(Sales)▶️"從標記---拖動--->行。
膠囊改成離散。
設置它的“標題”格式->默認值->數字->改成百分比。
其他細節修改:
設置格式: 去掉"0值線"。
列“度量值”的軸:“編輯軸”-->固定取值范圍重-0.004開始。 然后隱藏它 ->去掉“顯示標題”上的✔️。
行的2個膠囊:設置格式->標題->對齊->居中。然后調整寬度。
進度條
就是2個條圖:雙軸+同步軸。
1. 一個列"總和(Sales)",然后表計算:“合集百分比”
2.一個列“avg(1)”, 會自動生成0-1的條圖。
3. 雙軸+同步軸,編輯軸的固定范圍0-1, 隱藏2個軸。
4.標記卡->"全部"標記卡->顏色->avg(1)使用背景色"灰",代表100%進度條。
5.標記卡->"總和(Sales)▶️"標記卡->顏色->拖動維度"Color",即上色。
其他細節修改:
設置格式: 去掉"0值線",去掉“網格線”
行的2個膠囊:設置格式->標題->對齊->居中。然后調整寬度。
格式設置:網格->工作表->行分隔符/列分隔符-> "區"設置為"5無"。
各類網格線都去掉。
最后可以選擇細/寬條圖
細條圖:
讓百分比值放到左側:
- 把"總和(Sales)▶️"拖動到->行。
- 膠囊改成離散。
- 設置它的“標題”格式->默認值->數字->改成百分比。
- 最后,標記卡“全部”->大小:調整成細線。
寬條圖:
標記卡“總和(Sales)▶️”直接加上一個標簽:總和(Sales),然后左對齊。
變種:
就是調整標記卡'avg(1)'的寬度和在上層顯示。
空心棒棒糖圖
之前實心棒棒糖圖的做法:https://www.cnblogs.com/chentianwei/p/12704166.html。
但是要做出空心棒棒圖的效果,需要更多的設置。我參考了原作者的圖表,但不能做出不同的同心圓顏色的區分,只能固定為紅色。
補充;
Google查了一下:“tableau 標記卡顏色+多個列”,找到相關文章,其實可以容易的做到。參考這篇文章
首先:
也是2個圖,雙軸+同步。一個用圓,一個用條圖。
但是,空心棒棒圖的圓,是2個同心圓,內部顏色是白色,外部是紅色。
所以,用“度量值”膠囊(包括2個總和(Sales)並進行“合集百分比”的表計算, 其中一個是復制另一個,即2個膠囊完全一樣)。
然后,把“度量名稱”拖拽到-->“標記卡‘圓’”的顏色。改顏色,外紅內白。
最后,把維度"Color"拖拽到-->“標記卡‘圓’”的標簽,然后單擊圖例改成"Color"圖例,最后重新分配顏色。
說白了就是,不同直接拖動到“標記卡‘圓’”的“顏色”。因為將一個字段放在“顏色”上,然后再將一種不同的字段放在“顏色”上,則第二個字段會替換第一個字段。
然后,最重要的步驟:
⚠️把“度量名稱”拖拽到-->“標記卡‘圓’”的"大小"。右側欄出現這個“操作框”:
調整同心圓壁厚。
最后,其他的一些調整和修飾(略)。
橫T型圖
同樣用組合圖:條圖+甘特圖。 因為甘特圖能做出“豎直的線條”
其他步驟都很簡單。
Cleveland Dot plot
Cleveland 點圖,用來反映各分組中某指標平均值。參考:https://www.biomart.cn/experiment/793/2714830.htm
有個技巧:巧用min(0)
然后就是修飾。
Unit Chart
很簡單,就是添加固定的參考線。
左邊欄“分析”->添加3個常量線0.1,0.2,0.3, 然后編輯一下即可。
還有一個復雜的方法。其實解釋起來也不難,就是利用計算字段。親自試試就知道了。
每個列是一個計算字段,比如Sales10%:
if (SUM([Sales]) / TOTAL(SUM([Sales]))) > 0.1 then 1 else (SUM([Sales]) / TOTAL(SUM([Sales]))) / 0.1 end
解釋:
(SUM([Sales]) / TOTAL(SUM([Sales])))就是每個地區銷售額的合計百分比,假設是 變量X。
- 如果X>10%則輸出1,即在第一個字段上,圖是全占的。
- 如果X<10%則輸出 “X/0.1”, 分母0.1指“Sales 10%”(即條圖總長的10%)
這是因為,Sales 10%字段代表了整體條圖的十分之一。我們的計算結果只會反應到這個十分之一上,要把真實情況反應出來,就需要進行轉化。
- 假如“else (SUM([Sales]) / TOTAL(SUM([Sales]))) ”,不除以0.1, 那么就會把Sales 10%錯當成整個條圖了。❌
- 所以,除以0.1, 就是乘以10,即10倍長度的Sales10%,就是反應真實的條圖。
Unit Chart 進度圖
就是在進度圖基礎上加上參考線。
參考線標簽,可以在"編輯參考線"->"標簽":選擇下拉菜單->"無"。
參考線會覆蓋“標簽”,所以細一點。