stat_function
を試しましたか?
+ stat_function(fun = dnorm)
はおそらく数ではなく、密度の値をプロットするためにaes(y = ..density..)
を使用してヒストグラムをプロットすることをお勧めします。
this質問には多くの有用な情報があり、異なるファセット上の異なる通常の曲線をプロットするためのアドバイスが含まれています。と別のデータフレームを作成し、私はにリンクされている質問から
ggplot(data = dat,aes(x = x)) +
facet_wrap(~a) +
geom_histogram(aes(y = ..density..)) +
stat_function(fun = dnorm, colour = "red")
![enter image description here](https://i.stack.imgur.com/SWfXo.png)
:
dat <- data.frame(x = c(rnorm(100),rnorm(100,2,0.5)),
a = rep(letters[1:2],each = 100))
オーバーレイ各ファセット上の単一の正規密度:ここ
は、いくつかの例があります異なる正常曲線:
grid <- with(dat, seq(min(x), max(x), length = 100))
normaldens <- ddply(dat, "a", function(df) {
data.frame(
predicted = grid,
density = dnorm(grid, mean(df$x), sd(df$x))
)
})
そして、別途geom_line
を使用してそれらをプロットします
ggplot(data = dat,aes(x = x)) +
facet_wrap(~a) +
geom_histogram(aes(y = ..density..)) +
geom_line(data = normaldens, aes(x = predicted, y = density), colour = "red")
![enter image description here](https://i.stack.imgur.com/5GYaF.png)
** gpplot2 **と**格子**パッケージで使用されるようなあなたは、グリッドグラフィックとベースのグラフィックス機能( 'ライン()'など)を混在させることはできません。 –