ggplot - 标签计算增加(%)

时间:2016-01-01 17:04:34

标签: r ggplot2

我开发了一个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")

1 个答案:

答案 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)

enter image description here