绘制正态分布

时间:2013-06-14 06:02:36

标签: r ggplot2 distribution normal-distribution

我试图绘制3个正态分布的例子,但是ggplot似乎将路径识别为一个连续的路径,而不是按因子水平分层的路径。我对ggplot相对较新,任何帮助都将不胜感激。

这是我的代码:

set.seed(5872)

x<-seq(-7.5,7.5,0.1)
l<-length(x)*3
df<-data.frame(P=factor(rep(c("Mean: -1, SD: 0.5","Mean: 0, SD: 1","Mean: 1, SD: 1.5"),      each=l) ),
X=(c(x,x,x)), 
Y=(c(dnorm(x,-1,0.5),dnorm(x,0,1),dnorm(x,1,1.5))))

Normal<-ggplot(data=df,aes(X,Y,group=P,color=P))+
geom_path()+
scale_x_continuous("")+
scale_y_continuous("f(x)")+
scale_color_discrete("Parameters")+
ggtitle("Normal") + 
theme(plot.title = element_text(size=25,lineheight=.8, face="bold"))

如何让ggplot识别这些因素并使用3种不同的颜色进行绘图?而不是显示一条连续路径?

1 个答案:

答案 0 :(得分:2)

一个可重复的例子,使用来自bdemarest的提示:

   library(ggplot2)

   set.seed(5872)

   x<-seq(-7.5,7.5,0.1)
   l<-length(x)
   df<-data.frame(P=factor(rep(c("Mean: -1, SD: 0.5","Mean: 0, SD: 1","Mean: 1, SD: 1.5"),
            each=l) ),
   X=(c(x,x,x)), 
   Y=(c(dnorm(x,-1,0.5),dnorm(x,0,1),dnorm(x,1,1.5))))

   Normal<-ggplot(data=df,aes(X,Y,group=P,color=P))+
   geom_path()+
   scale_x_continuous("")+
   scale_y_continuous("f(x)")+
   scale_color_discrete("Parameters")+
   ggtitle("Normal") + 
   theme(plot.title = element_text(size=25,lineheight=.8, face="bold"))

   print(Normal)