8

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

4

1 回答 1

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)
于 2013-07-23T22:54:05.140 回答