假设我正在处理以下数据:
var1 <- runif(20, 0, 30)
var2 <- runif(20, 0, 40)
year <- c(1900:1919)
data_gg <- cbind.data.frame(var1, var2, year)
我为ggplot融合数据:
data_melt <- melt(data_gg, id.vars='year')
我要为var1和var2制作一个分组条形图:
plot1 <- ggplot(data_melt, aes(as.factor(year), value)) +
geom_bar(aes(fill = variable), position = "dodge", stat="identity")+
xlab('Year')+
ylab('Density')+
theme_light()+
theme(panel.grid.major.x=element_blank())+
scale_fill_manual(values=c('goldenrod2', 'firebrick2'), labels=c("Var1",
"Var2"))+
theme(axis.title = element_text(size=15),
axis.text = element_text(size=12),
legend.title = element_text(size=13),
legend.text = element_text(size=12))+
theme(legend.title=element_blank())
最后,我想添加一行显示每年的累计总和(Var1 + Var2)。我使用stat_summary完成了这个操作,但它没有出现在图例中。
plot1 + stat_summary(fun.y = sum, aes(as.factor(year), value, colour="sum"),
group=1, color='steelblue', geom = 'line', size=1.5)+
scale_colour_manual(values=c("sum"="blue"))+
labs(colour="")
如何让它出现在图例中?
stat_summary(fun.y = sum, aes(as.factor(year), value, col="sum", group=1), geom = 'line', size=1.5)
? - User2321