共享同一 y 轴的多个直方图上的密度曲线

Density curves on multiple histograms sharing same y-axis

我需要在共享同一 y 轴的 3 个直方图上叠加正态密度曲线。每个直方图的曲线需要分开。

我的数据框(示例):

height <- seq(140,189, length.out =  50)
weight <- seq(67,86, length.out = 50)
fev <- seq(71,91, length.out = 50)

df <- as.data.frame(cbind(height, weight, fev))

我为数据创建了直方图:

library(ggplot)
library(tidyr)

df %>% 
gather(key=Type, value=Value) %>% 
ggplot(aes(x=Value,fill=Type)) + 
geom_histogram(binwidth = 8, position="dodge") 

我现在被困在如何在我生成的直方图上叠加 3 个变量的正态密度曲线(每个直方图的单独曲线)上。我不介意在 y 轴上显示计数或密度的最终数字。

关于如何从这里开始的任何想法?

提前致谢。

我相信问题中的代码几乎是正确的,下面的代码只是使用@akrun提供的link中的答案。

请注意,我通过在最后一个加号前放置一个注释字符来注释掉对 facet_wrap 的调用。

library(ggplot2)
library(tidyr)

df %>% 
  gather(key = Type, value = Value) %>% 
  ggplot(aes(x = Value, color = Type, fill = Type)) + 
  geom_histogram(aes(y = ..density..),
                 binwidth = 8, position = "dodge") +
  geom_density(alpha = 0.25) #+
  facet_wrap(~ Type)