R: Benutzerdefinierte Legende für Mehrfachebenen-Gplot

Ich versuche, eine benutzerdefinierte Legende für ein ggplot mit Daten aus zwei separaten Datenrahmen zu erhalten. Unten finden Sie ein reproduzierbares Mindestbeispiel.

Ich versuche, eine Legende zu erstellen, die die Farbbandfüllung, die schwarze und die rote Linie beschreibt.

require(ggplot2)
x=seq(1,10,length=100)
data=data.frame(x,dnorm(x,mean=6.5,sd=1))
names(data)=c('x','new.data')
x.ribbon=seq(1,10,length=20)
ribbon=data.frame(x.ribbon,
                  dnorm(x.ribbon,mean=5,sd=1)+.01,
                  dnorm(x.ribbon,mean=5,sd=1)-.01,
                  dnorm(x.ribbon,mean=5,sd=1))
names(ribbon)=c('x.ribbon','max','min','avg')
ggplot()+geom_ribbon(data=ribbon,aes(ymin=min,ymax=max,x=x.ribbon),fill='lightgreen')+
  geom_line(data=ribbon,aes(x=x.ribbon,y=avg),color='black')+
  geom_line(data=data,aes(x=x,y=new.data),color='red')+
  xlab('x')+ylab('density')

Antworten auf die Frage(1)

Ihre Antwort auf die Frage