ggplot2的barplot不会考虑所有值

时间:2016-12-28 00:59:38

标签: r ggplot2

我需要ggplot2来绘制特定X处所有值的总和。它的作用只需要一个值。

我的数据摘录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")

我很确定它过去对我来说效果很好,但今天我不知道如何使其发挥作用。

1 个答案:

答案 0 :(得分: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