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

Flo*_*Flo 8 average r lines ggplot2

我使用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() 
Run Code Online (Sandbox Code Playgroud)

我试图添加:

geom_line(aes(y = moyenne[,2], colour = "blue"))
Run Code Online (Sandbox Code Playgroud)

要么 :

lines(moyenne[,1],moyenne[,2],col="blue")
Run Code Online (Sandbox Code Playgroud)

但没有任何反应:(我不明白特别是功能"线".

谢谢您的回答...

Sim*_*mon 9

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

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

哪个,你给出的示例数字,将给你一个如下的情节:

在此输入图像描述

  • 如果您也使用此解决方案但不起作用,请使用以下代码段ggplot(data = df,aes_q(x = datetime,y = Indcatotvalue))+ geom_line()+ geom_hline(aes(yintercept = Mean (Indcatotvalue)),color =“ blue”)` (2认同)

Flo*_*Flo 5

stat_summary函数在这里非常完美。

我在 Brian Diggs 的groups.google页面中找到了答案:

p + stat_summary(aes(group=bucket), fun.y=mean, geom="line", colour="green")
Run Code Online (Sandbox Code Playgroud)

您需要显式地将组设置为分面变量,否则它将是类型和存储桶(看起来像类型,因为类型嵌套在存储桶中)。