En este artículo, discutiremos cómo agregar líneas verticales por una variable en gráficos de densidad múltiple con el paquete ggplot2 en el lenguaje de programación R.
Para hacerlo, primero crearemos gráficos de densidad múltiple coloreados por grupo y luego agregaremos la línea como un elemento separado.
Gráfica básica de densidad múltiple:
Para hacer gráficos de densidades múltiples con colores por variable en R con ggplot2, primero creamos un marco de datos con valores y categoría. Luego dibujamos el gráfico de densidad ggplot2 usando la función geom_desnity(). Para colorearlos según la variable agregamos la propiedad de relleno como categoría en la función ggplot().
Sintaxis:
ggplot(marco de datos, aes(x, color, relleno)) + geom_density()
Ejemplo:
Obtenemos gráficos de densidad múltiple en el ggplot de dos colores correspondientes a dos niveles/valores para la segunda variable categórica. Si nuestra variable categórica tiene n niveles, entonces ggplot2 haría gráficos de densidad múltiple con n densidades/color.
R
# load library library(tidyverse) set.seed(1234) # create the dataframe df <- data.frame( category=factor(rep(c("category1", "category2","category3"), each=1000)), value=round(c(rnorm(1000, mean=65, sd=5), rnorm(1000, mean=85, sd=5), rnorm(1000, mean=105, sd=5)))) # Basic density plot with custom color # color property to determine the color of plot # fill property to determine the color beneath plot ggplot(df, aes(x=value, color=category, fill=category)) + geom_density(alpha=0.3)
Producción:
Adición de línea por una variable
Para agregar una línea por una variable para trazar, cree una nueva mediana de marco de datos en un marco de datos que almacene la mediana de valores agrupados por categorías. Luego use la función geom_vline para dibujar una línea a través de ese punto coloreada por categoría de datos.
Sintaxis:
plot + geom_vline(marco de datos, aes(xintercept, color), tamaño)
Ejemplo:
Aquí, hemos calculado la mediana de los valores agrupados por categoría y la hemos almacenado en un marco de datos llamado mediana. Luego usó la función geom_vline() para dibujar una línea a través de la gráfica en ese punto coloreado según la categoría de datos.
Para crear un marco de datos mediano que usamos,
median <- df %>% group_by(category) %>% summarize(median=median(value))
El marco de datos mediano hecho de group_by y la función de resumen se ve así:
# A tibble: 3 x 2 category median <fct> <dbl> 1 category1 65 2 category2 85 3 category3 105
R
# load library library(tidyverse) set.seed(1234) df <- data.frame( category=factor(rep(c("category1", "category2","category3"), each=1000)), value=round(c(rnorm(1000, mean=65, sd=5), rnorm(1000, mean=85, sd=5), rnorm(1000, mean=105, sd=5)))) # create median data using above dataframe # group_by function groups the data of same category # summarize function with median # argument calculates the median of value column median <- df %>% group_by(category) %>% summarize(median=median(value)) # Basic density plot with custom color # color property to determine the color of plot # fill property to determine the color beneath plot # geom_vline function draws the line across median # of each group ggplot(df, aes(x=value, color=category, fill=category)) + geom_density(alpha=0.3)+ geom_vline(data = median, aes(xintercept = median, color = category), size=0.5)
Producción:
Publicación traducida automáticamente
Artículo escrito por mishrapriyank17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA