R:在现有绘图中添加平均线

时间:2016-07-21 10:13:45

标签: r ggplot2 average lines

我已经使用ggplot完成了一个使用RShiny的应用程序。

现在,我想在现有情节中添加一条平均线。

library(ggplot2)

A <- c(1:10)
B <- c(1,1,2,2,3,3,4,4,5,5)

donnees <- data.frame(A,B) 
datetime<-donnees[,2]
Indcatotvalue<-donnees[,1]
df<-donnees

mn<-tapply(donnees[,1],donnees[,2],mean)
moyenne <- data.frame(template=names(mn),mean=mn)

ggplot(data=df,
   aes_q(x=datetime,
         y=Indcatotvalue)) + geom_line() 

我试图添加:

geom_line(aes(y = moyenne[,2], colour = "blue"))

或:

lines(moyenne[,1],moyenne[,2],col="blue")

但没有任何反应:( 我不太了解功能&#34; line&#34;。

感谢您的回答......

2 个答案:

答案 0 :(得分:8)

当你说平均线I&m时,假设你要绘制一条代表Y(Indcatotvalue)平均值的线。为此,您想使用geom_hline()绘制图表上的水平线:

ggplot(data=df,aes_q(x=datetime,y=Indcatotvalue)) +
  geom_line() +
  geom_hline(yintercept = mean(Indcatotvalue), color="blue")

使用您提供的示例数字,将为您提供如下图:

plot with stepped with average line

答案 1 :(得分:1)

我在这个页面找到了答案:

groups.google.com/forum/#!topic/ggplot2/vd5n1jR9k40

函数stat_summary在这里很完美。