Para superponer una densidad kernel sobre un histograma en ggplot2 tendrás que pasar aes(y = ..density..)
a geom_histogram
y usar geom_density
como en el siguiente ejemplo.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(5)
x <- rnorm(1000)
df <- data.frame(x)
# Histograma con densidad
ggplot(df, aes(x = x)) +
geom_histogram(aes(y = ..density..),
colour = 1, fill = "white") +
geom_density()
El color, ancho y tipo de línea de la densidad kernel se puede personalizar con colour
, lwd
y linetype
.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(5)
x <- rnorm(1000)
df <- data.frame(x)
# Histograma con densidad
ggplot(df, aes(x = x)) +
geom_histogram(aes(y = ..density..),
colour = 1, fill = "white") +
geom_density(lwd = 1.2,
linetype = 2,
colour = 2)
También puedes sombrear el área bajo la curva, especificando un color con el argumento fill
de la función geom_density
. Es recomendable usar un nivel de transparencia (entre 0 y 1) con el argumento alpha
, de modo que el histograma permanezca visible.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(5)
x <- rnorm(1000)
df <- data.frame(x)
# Histograma con densidad
ggplot(df, aes(x = x)) +
geom_histogram(aes(y = ..density..),
colour = 1, fill = "white") +
geom_density(lwd = 1, colour = 4,
fill = 4, alpha = 0.25)
También te puede interesar