我开发了一个ggplot图,但现在我正在尝试添加计算标签,显示同比增长%?
我的数据框非常简单(来自主数据集的聚合结果)
'data.frame': 4 obs. of 3 variables:
$ Year : int 2011 2012 2013 2014
$ TotalPay: num 71744 74113 77611 75466
我的图表代码是:
library(ggplot2)
ggplot(d1, aes(x=Year, y=TotalPay)) + geom_bar(stat="identity") +
labs(x="Year", y="Average Total Pay ($)")
现在尝试将stat_bin用于标签?计算是实际年份 - 上一年度* 100%。我有这个,但不知道如何填写百分比()
stat_bin(aes (labels = paste("Total Pay" = ,scales::percent(())), vjust = 1, geom = "TexT")
答案 0 :(得分:4)
我会预先计算更改,然后用geom_text
:
library(dplyr)
d1 <- data.frame(Year=2011:2014,TotalPay=c(71744,74112,77611,65466))
d1 <- mutate(d1,change=(TotalPay - lag(TotalPay))/lag(TotalPay))
ggplot(d1, aes(x=Year, y=TotalPay)) + geom_bar(stat="identity") +
labs(x="Year", y="Average Total Pay ($)") +
geom_text(data=d1[-1,],aes(label = scales::percent(change)), vjust = 1)