【发布时间】:2018-03-11 18:15:09
【问题描述】:
假设我有一个看起来像这样的数据框 df。
Year value type
2000 150 Type 1
2000 200 Type 1
2000 70 Type 2
2000 20 Type 1
2005 50 Type 2
2005 80 Type 2
2005 50 Type 1
2005 50 Type 1
我想绘制每个 Year 的 total 值,无论类型如何。用ggplot,我可以做到
ggplot(df) +
geom_col(aes(x = x, y = y),
colour = "black", fill = "dodgerblue2")
产生以下情节:
此图显示每个观察值之间的分隔(由于 /color/ 参数,黑线分隔框),如果我只对总数感兴趣,这是不希望的。
有没有什么方法可以让我画出每年整个条形图的轮廓,而忽略个别观察?
我希望实现的是这样的:
P.s.1:为 MWE 生成数据帧的代码
df <- data.frame(
year = as.factor(c(2000, 2000, 2000, 2000, 2005, 2005, 2005, 2005)),
value = c(150, 200, 70, 20, 50, 80, 50, 50),
type = as.factor(c("Type 1", "Type 1", "Type 2", "Type 1",
"Type 2", "Type 2", "Type 1", "Type 1")))
P.s.2:我知道我可以通过创建一个新的数据框来达到预期的效果,其中包含变量 value 每 year 的总计数。我很感兴趣是否有 ggplot2 的直接解决方案,它不需要我创建新的数据框。
【问题讨论】: