我正在尝试绘制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种不同的颜色进行绘图?而不是显示一条连续的路径?

最佳答案

一个可重现的示例,使用来自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)

关于r - 绘制正态分布,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17102054/

10-12 16:29