我正在尝试为一个使用来自两个不同数据框的数据的ggplot创建自定义图例。请参见下面的最小可复制示例。
我想要实现的是拥有描述色带填充、黑线和红线的图例。
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')
aes(color = 'string')
中的字符串只是一个绑定,实际颜色将是您在scale_color_manual()
中定义的任何颜色。 - Pierre Dgeom_line(colour = x)
和在geom_line(aes(colour = x))
中设置颜色的微妙差别很容易被忽视。我建议进行编辑以更加强调这一点。 - JanLauGe