2016-03-25 100 views
3

我有以下數據集:ggplot:條形圖的面板

Year, Height, Width, Weight 
1990, 5, 45, 190 
2000, 7, 77, 210 
2010, 2, 20, 150 

我想與曲線繪製柱狀圖的單個列爲高度寬度,和重量 。在每個條形圖中,值將繪製爲每年。因此,例如我的柱狀圖中的頂部柱狀圖是高度它將顯示x軸上的1990年,2000年和2010年的值5,7和2。

我已經找到了如何讓巴圖與較上年各條情節單柱:

data <- read.csv("../data/MyData.csv") 
data.m <- melt(data, id.vars = "Year") 

p <- ggplot(data.m, aes(variable, value)) + geom_bar(stat="identity") + facet_wrap(~ Year, ncol=1) 
print(p) 

在這種情況下,我的變量 - 高度重量,並寬度 - 位於每個條形圖的x軸上。儘管如此,我根本無法弄清楚如何進行轉換,以便位於x軸上。有什麼建議麼?

+1

你有沒有試過映射'Year'之前在'aes'然後通過'variable'磨製而不是'ggplot'的'x'說法? – cderv

+0

啊,就是這樣。謝謝@Titolondon!你可以發佈這個答案,以便我可以標記它是正確的嗎? – Lyngbakr

回答

1

要做到這一點,請將正確的值映射到您想要的美學。這是比較容易做到的非面積來檢查,如果一切正常刻面

p <- ggplot(data.m, aes(x = Year, y = value)) + 
    geom_bar(stat="identity") + 
    facet_wrap(~ variable, ncol=1)