2011-12-10 23 views
12

He producido un gráfico de hechos en ggplot2 y la etiqueta del eje x (abajo) toca ligeramente los valores de la escala (se agrava cuando trazo a un dispositivo .pdf). ¿Cómo muevo la etiqueta del eje un smidge?mover etiquetas de ejes ggplot

DF<-structure(list(race = structure(c(3L, 1L, 3L, 2L, 3L, 1L, 2L, 
2L, 2L, 3L, 2L, 1L, 3L, 3L, 3L, 3L, 2L, 1L, 2L, 3L), .Label = c("asian", 
"black", "white"), class = "factor"), gender = structure(c(1L, 
1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 
2L, 2L, 2L), .Label = c("female", "male"), class = "factor"), 
    score = c(0.0360497844302483, 0.149771418578119, 0.703017688328021, 
    1.32540102136392, 0.627084455719946, -0.320051801571444, 
    0.852281028633536, -0.440056896755573, 0.621765489966213, 
    0.58981396944136, 1.95257757882381, 0.127301498272644, -0.0906338578670778, 
    -0.637727808028146, -0.449607617033673, 1.03162398117388, 
    0.334259623567608, 0.0912327543652576, -0.0789977852804991, 
    0.511696466039959), time1 = c(75.9849658266583, 38.7148843859919, 
    54.3512613852158, 37.3210772390582, 83.8061071736856, 14.3853324033061, 
    79.2285735003004, 31.1324602891428, 22.2294730114138, 26.427263191766, 
    40.5529893144888, 19.2463281412667, 8.45085646487301, 97.6770352620696, 
    61.1874163107771, 31.3727683430548, 99.4155144857594, 79.0996849438957, 
    21.2504885323517, 94.1079332400361)), .Names = c("race", 
"gender", "score", "time1"), class = "data.frame", row.names = c(NA, 
-20L)) 


require(ggplot2) 
p <- ggplot(DF, aes(score, time1, group=gender)) 
p + geom_point(aes(shape=19)) + facet_grid(race~gender) + scale_x_continuous('BLAH BLAH') + 
scale_y_continuous('Some MOre Of theat Good Blahing') 

En mis datos BLAH BLAH está tocando los números. Necesito que se mueva hacia abajo. ¿Cómo?

+0

Hmmmm. ¿Puede ampliar un poco sobre cómo se ve o publicar una imagen de ejemplo, porque parece estar bien cuando ejecuto esto? Puede ser específico para la plataforma/dispositivo/tamaño de imagen. – joran

+0

@joran No pude publicar la imagen o los datos porque estoy usando los datos de otra persona. No pude obtener el problema para replicar fuera de este conjunto de datos, así que hice lo mejor que pude. –

+0

No hay problema ... Veo que tiene el puntero para ajustar la justificación. Estaba intrigado porque no podía replicarlo. – joran

Respuesta

18

Se puede ajustar el posicionamiento del título del eje x usando:

+ opts(axis.title.x = theme_text(vjust=-0.5)) 

jugar con el parámetro de -0,5 "justificación vertical" hasta que se adapte a usted/su dispositivo de visualización.

+0

Gracias. Eso es perfecto. –

+47

Recordando que opts y theme_text están en desuso en estos días. Debería usar theme (axis.title.x = element_text (vjust = -0.5)) – Eduardo

+0

¿Existe un equivalente que cambie el posicionamiento horizontalmente, mientras se preserva la disposición del texto? hjust parece cambiar la justificación del texto y me gustaría simplemente cambiar la ubicación. – kennyB

0

Ésta es una solución fácil, basado en la respuesta dada here

Sólo añadir un salto de línea; \n, al comienzo de su título de ejes; xlab("\nYour_x_Label") (O al final si necesita mover su etiqueta y).

No ofrece tanto control como margin, ¡pero es mucho más simple!

Cuestiones relacionadas