2011-04-29 126 views
0

我有一個看起來像這樣的數據:如何在Tableau Public中創建定量堆積條形圖?

Subcategory Title Value 
Sub1   Name1 2 
Sub1   Name2 5 
Sub2   Name3 4 
Sub2   Name4 1 
Sub3   Name5 2 
Sub3   Name6 7 
Sub4   Name1 7 
Sub4   Name2 5 
Sub5   Name3 4 
Sub5   Name4 3 
Sub6   Name5 9 
Sub6   Name6 1 

添加標題到行字段和總和(值)的大小架子,我得到一個水平條形圖,其中條的長度相當於總和給定標題的值。例如,一個名爲Name1並且長度爲9個單位的條,另一個名爲Name2並且長度爲10個單位的條等。我想對條進行着色,以便給定子類別對條長度的貢獻被繪製在酒吧。所以Name1酒吧將有一個藍色的酒吧,是2個單位長的堆疊在一個7個單位長的紅色酒吧。名稱2酒吧將有一個長5個單位的藍色酒吧堆放在一個5個單位長的橙色酒吧上。

但是,當我將子類別添加到顏色貨架時,比例會發生變化,以便條的長度現在等於子類別的最高值,其他值不會堆疊,而是疊加在一起。我得到了一個總共7個單位的酒吧,其中2個單位塗成藍色,而不是在7個單位的紅色酒吧上堆滿2個單位的藍色酒吧。

這將解釋從「什麼是具有最高值的類別(以及子類別對此有何貢獻)?」到「什麼是最高子類別?」因爲現在Name1欄現在是7個單位,而Name2欄現在只有5個單位長,您看不到其他顏色。

請讓我知道是否有辦法在Tableau中執行此操作,或者如果您是ggplot2嚮導,我會很高興地使用R代碼執行相同的操作。

+0

是 「大小貨架」 和 「彩架」 畫面術語? – Chase 2011-04-29 20:54:27

+0

http://stackoverflow.com/questions/2578961/how-to-better-create-stacked-bar-graphs-with-multiple-variables-from-ggplot2/3784878#3784878 OP概述瞭如何創建一個100%堆積的酒吧 – 2011-04-29 21:00:25

+0

是的,這些是特定於Tableau的術語。我不是特別喜歡Tableau界面,但是如果數據適合他們的模型,會生成一些該死的漂亮圖形。 – 2011-04-29 22:23:25

回答

2

檢查這一點,但我不知道,如果顏色是正確的:

library("ggplot2") 
p <- ggplot(data=dat, aes(x=Title, y=Value, fill=Subcategory)) + 
     geom_bar(position="stack", stat="identity") + 
     coord_flip() 
print(p) 

ggplot example

+0

檢查了這一點,它確實有效,當我大體上使用它時有點棘手數據集,因爲我的一些標題非常長,但它確實可以使用標題的固定大小的散列。 – 2011-04-29 23:07:26

+0

我對我的數據集進行了子集化,使其僅包含我想要的數百行的44行,但仍然繪製了數百個標題在軸上。我需要'p < - ggplot(data = dat,aes(x = factor(Title),y = Value,fill = Subcategory))+ geom_bar(position =「stack」,stat =「identity」)+ coord_flip()現在我只需要弄清楚爲什麼ggplot翻轉了我的圖表,所以這些小節從右到左而不是從正常的從左到右,以及如何將標題限制爲固定數量的字符。我將檢查'opts(axis.text.x)'看看是否有辦法做到這一點,也許翻轉會自行修復。 – 2011-05-02 19:38:37

+0

你會如何編輯上述標題以便按總價值順序繪製?在上面的例子中,訂單將是Name5,Name2,Name1,Name3,Name6,Name4。 – 2011-06-14 19:03:03

1

這應該做你ggplot想要的東西:

ggplot(dat, aes(x = Title,y = Value, fill = Subcategory)) + 
    geom_bar(stat = "identity") + 
    coord_flip()