8
Próbuję wykreślić 3 przykłady rozkładu normalnego, jednak wydaje się, że ggplot rozpoznaje ścieżkę jako jedną ciągłą, a nie podzieloną przez poziomy czynnika. Jestem stosunkowo nowy w ggplot i każda pomoc byłaby bardzo ceniona.Wykreślanie normalnych rozkładów
Oto mój kod:
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"))
Jak mogę uzyskać ggplot rozpoznać czynniki i działki z 3 różnych kolorach? Zamiast wyświetlać jedną ciągłą ścieżkę?
zostałeś ugryziony przez cichego recyklingu R jest wektorem! Nieumyślnie popełniłeś P 3 razy zbyt długo. Następnie X i Y zostały powtórzone raz dla każdego poziomu P. Po prostu wykonaj jedną zmianę 'l <- length (x)' i wszystko działa. – bdemarest
Ah ok, dziękuję bardzo, powinienem był to zobaczyć! – Tom
+1 dla odtwarzalnego przykładu z pierwszego postu. Poprosiłbym @ bdemarest, aby umieścił swoją obserwację jako odpowiedź, aby OP mógł zaakceptować to jako poprawne. –