Problema
Tenemos el siguiente diagrama de dispersión para dos variables categóricas.
Cuando creamos un gráfico de densidad en 2D, obtenemos varios contornos de densidad. Queremos controlar precisamente el número de contornos.
library(ggplot2)
set.seed(123)
plot_data <-
data.frame(
X = c(rnorm(300, 3, 2.5), rnorm(150, 7, 2)),
Y = c(rnorm(300, 6, 2.5), rnorm(150, 2, 2)),
Label = c(rep('A', 300), rep('B', 150))
)
ggplot(plot_data, aes(X, Y, colour = Label)) + geom_point()
ggplot(plot_data, aes(X, Y)) +
stat_density_2d(geom = "polygon", aes(alpha = ..level.., fill = Label))
Solución
- Opción 1 Añadiendo stat_density_2d con el argumento bins (número de contornos) evitamos una sobrecagarda de información, controlamos y centramos la atención en un número concreto de contornos de densidad.
ggplot(plot_data, aes(X, Y, group = Label)) +
stat_density_2d(geom = "polygon",
aes(alpha = ..level.., fill = Label),
bins = 4)
ggplot(plot_data, aes(X, Y, group = Label)) +
stat_density_2d(geom = "polygon", aes(fill = as.factor(..level..))) +
scale_fill_manual(values = c(NA, NA, NA, "#BDD7E7", "#6BAED6", "#3182BD", "#08519C"))
Referencias
No hay comentarios:
Publicar un comentario