2016-12-28 28 views
3

我需要ggplot2來繪製特定X的所有值的總和。它所做的只是一個值。ggplot2的barplot沒有考慮所有的值

我的數據df的摘錄:

  Day S V 
1 2016-12-27 K 60 
2 2016-12-27 K 600 
3 2016-12-27 M 80 
4 2016-12-27 M 695 

全部數據的str(df)

'data.frame': 52 obs. of 3 variables: 
$ Day : POSIXlt, format: "2016-12-15" "2016-12-15" "2016-12-15" ... 
$ S : chr "K" "K" "M" "M" ... 
$ V : num 50 560 255 460 110 500 145 460 40 630 ... 

我用下面的代碼做一個圖形,但由於某種原因,600和695只顯示值。我想它顯示660和775

ggplot(data = daneDzien, aes(x = Day, y = V, fill = S)) + 
    geom_bar(stat = "identity", position = "dodge", color = "black") 

我敢肯定它在過去的工作很適合我,但是今天我出出主意怎樣做才能使其發揮作用。

回答

6

一種選擇是總結ggplot2以外的數據集,因此每個日期每個「S」級別有一個值。

要在ggplot2中工作,您可以通過stat = "summary"fun.y = sum進行彙總。

ggplot(df, aes(x = Day, y = V, fill = S)) + 
    geom_bar(stat = "summary", fun.y = sum, position = "dodge", color = "black") 

enter image description here