ggplot2的条形图没有考虑所有的值

3

我需要使用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个回答

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接