2011-06-29 10 views
17

Estoy generando una figura que se utilizará como una columna de etiquetas a la derecha de una figura de tres paneles, y me gustaría que el título de la figura se alinee a la derecha como lo hacen las etiquetas en la figura misma.¿Es posible alinear el título de un ggplot a la derecha?

aquí hay un ejemplo mínimo en el que me gustaría alinear a la derecha las "palabras" del título.

ggplot() + 
    geom_text(aes(y = 1, x = seq(4), 
       label = c('fee', 'fi', 'fo', 'fum'), 
       hjust = 1)) +  
    opts(title = 'words') + 
    coord_flip() + 
    scale_y_continuous(breaks = c(0,0), limits = c(0,1)) 

que produce esto:

enter image description here

actualización

La respuesta por @joran es útil, pero no se alinea con las palabras las etiquetas. cambiando su código de hjust=1 a hjust = 0.96 se acerca, pero esto es más un truco que una respuesta satisfactoria.

Respuesta

20

Usted puede hacer eso con lo siguiente:

De manera más general, here es una lista bastante completa de las cosas que se pueden modificar a través de opts y se puede ver un código de ejemplo se ejecuta a través de algunas de estas opciones en el Sitio de Hadley here, particularmente la sección sobre 'pulido'. Aún mejor sería comprar su libro.

Nota: Desde la versión 0.9.2 opts ha sido reemplazado por theme:

theme(plot.title = element_text(hjust = 1)) 
+0

+1 Muy bonito ... gracias – Andrie

+0

@joran para la respuesta y para señalar estos recursos; después de encontrar el código 'opts (title = ...', no esperaba que ', plot.title = ...)' sería un argumento separado. –

+0

@joran después de jugar con esto, me parece que el título no está alineado con el texto de la etiqueta usando 'hjust = 1' (ver la actualización a O.P.). ¿Hay alguna forma de alinear las etiquetas y el título? –

Cuestiones relacionadas