我正在尝试创建一个带有两个叠加密度图的直方图 . 问题是:我希望一个密度是虚线,它完美地工作但在图例中不会出现虚线,如下例所示
x<-sort(rnorm(1000))
data<-data.frame(x=x,Normal=dnorm(x,mean(x),sd=sd(x)),Student=dt(x,df=3))
ggplot(data,aes(y=x))+geom_histogram(aes(x=x,y=..density..),
color="black",fill="darkgrey")+geom_line(aes(x=x,y=Normal,color="Normal"),size=1,
linetype=2)+ylab("")+xlab("")+labs(title="Density estimations")+geom_line(aes(x=x,y=Student,color="Student"),size=1)+
scale_color_manual(values=c("Student"="black","Normal"="black"))
我是如何获得传奇中的虚线的?
非常感谢你!
莱纳
2 回答
"ggplot"方式通常喜欢数据采用"long"格式,并使用单独的列来指定每个美学 . 在这种情况下,线型应该被解释为美学 . 处理此问题的最简单方法是使用
reshape2
包将数据准备为适当的格式:然后修改您的绘图代码,看起来像这样:
结果是这样的:
您想要将其重塑为长格式...使其更简单