Кривые плотности на нескольких гистограммах, имеющих одну и ту же ось Y - PullRequest
0 голосов
/ 20 июня 2019

Мне нужно наложить кривые нормальной плотности на 3 гистограммы с одной и той же осью Y.Кривые должны быть отдельными для каждой гистограммы.

Мой кадр данных (пример):

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") 

IТеперь я застрял в том, как наложить нормальные кривые плотности для 3 переменных (отдельная кривая для каждой гистограммы) на сгенерированные мной гистограммы.Я не буду возражать против окончательного числа, показывающего или количество или плотность на оси Y.

Есть какие-нибудь мысли о том, как поступить отсюда?

Заранее спасибо.

1 Ответ

1 голос
/ 20 июня 2019

Я считаю, что код в вопросе почти правильный, код ниже просто использует ответ по ссылке, предоставленной @akrun.

Обратите внимание, что я закомментировал вызов 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)
...