Aumentar la distancia entre el texto y el título en el eje y


107

El título del eje y aparece demasiado cerca del texto del eje.

ggplot(mpg, aes(cty, hwy)) + geom_point()

salida de ggplot

He intentado cambiar el valor de muchos parámetros con theme()pero ninguno parece ayudar.

Respuestas:


171

Desde ggplot2 2.0.0puede usar el margin =argumento de element_text()para cambiar la distancia entre el título del eje y los números. Establezca los valores del lado marginon top r, bight, ottom y left del elemento.

ggplot(mpg, aes(cty, hwy)) + geom_point()+
  theme(axis.title.y = element_text(margin = margin(t = 0, r = 20, b = 0, l = 0)))

margintambién se puede usar para otros element_textelementos (ver ?theme), como axis.text.x, axis.text.yy title.


4
Este método no parece funcionar facet_grid, mientras que la respuesta sugerida por Adam B sí (es decir, un salto de línea usando \ n)
— Anónimo

@Anónimo ¿Puede dar un ejemplo en el que este margin =argumento no funcione?
— Didzis Elferts

Lo probé con theme_bw. Lo siento, publicar todo el código es ilegible / desordenado ...
— Anónimo

3
@Anónimo Si usa, theme_bw()entonces theme_bw()debe usarse antes de la theme()función porque en los temas predefinidos ya hay argumentos para los títulos de los ejes.
— Didzis Elferts

¡Gracias por la aclaración!
— Anónimo

97

Basado en esta publicación del foro: https://groups.google.com/forum/#!topic/ggplot2/mK9DR3dKIBU

Parece que lo más fácil de hacer es agregar un salto de línea (\ n) antes del eje x y después de las etiquetas del eje y. Parece mucho más fácil (aunque más tonto) que las soluciones publicadas anteriormente.

ggplot(mpg, aes(cty, hwy)) + 
    geom_point() + 
    xlab("\nYour_x_Label") + ylab("Your_y_Label\n")

¡Espero que ayude!


4
Normalmente uso este método, es mucho más rápido y no requiere agregar otra opción a ggplot a menos que necesite algunos ajustes específicos.
— R. Prost
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.