Benjamín, miembro de este equipo, nos hizo el favor de redactar este artículo ya que domina muy bien este tema.
Solución:
El problema es ese xlim(0, 155)
en realidad es una abreviatura de scale_x_continuous(lim = c(0, 155))
. Por lo tanto, cuando usas ambos, xlim()
y scale_x_continuous()
ggplot está confundido y solo usará una de las dos llamadas de scale_x_continuous()
. Si hago esto, recibo la siguiente advertencia:
La escala para ‘x’ ya está presente. Agregar otra escala para ‘x’, que reemplazará la escala existente.
Como puede ver, ggplot solo usa la escala que definió por última vez.
La solución es poner los límites y las rupturas en una llamada de scale_x_continuous()
. El siguiente es un ejemplo que puede ejecutar para ver cómo funciona:
data <- data.frame(a = rnorm(1000, mean = 100, sd = 40))
ggplot(data, aes(x = a)) + geom_histogram() +
scale_x_continuous(breaks = seq(0, 155, 5), lim = c(0, 155))
Permítanme agregar otro comentario: los descansos ahora no encajan bien con el ancho del contenedor, lo que me parece bastante extraño. Por lo tanto, le sugiero que también cambie el ancho del contenedor. Lo siguiente traza el histograma nuevamente, pero establece el ancho del contenedor en 5:
ggplot(data, aes(x = a)) + geom_histogram(binwidth = 5) +
scale_x_continuous(breaks = seq(0, 155, 5), lim = c(0, 155))
El siguiente enlace proporciona mucha información adicional y ejemplos sobre cómo cambiar los ejes en ggplot: http://www.cookbook-r.com/Graphs/Axes_%28ggplot2%29/
Reseñas y calificaciones
Si estás contento con lo expuesto, tienes la libertad de dejar un post acerca de qué le añadirías a esta noticia.