Cómo alinear a la izquierda el texto en anotar desde ggplot2

92

Mi ejemplo es:

qplot(mtcars$mpg) + 
  annotate(geom = "text", x = 30, y = 3, label = "Some text\nSome more text")

¿Cómo hago para alinear el texto aquí a la izquierda? Para que los 'Algunos se alineen entre sí.

KennyB
fuente

Respuestas:

145

hjust = 0hace lo que quiere. hsólo significa justificación horizontal , 0 estará justificado a la izquierda, 0,5 estará centrado y 1 estará justificado a la derecha.

qplot(mtcars$mpg) +
    annotate(geom = "text", x = 30, y = 3,
             label = "Some text\nSome more text",
             hjust = 0)

Consulte también vjustla justificación vertical.

En ggplot2, estos argumentos están presentes cada vez que se establecen las preferencias de texto. Funcionan para annotate, geom_texto element_textal ajustar las opciones del tema.

Si nos fijamos en ?geom_text, puede encontrar opciones de cadenas de texto: "left", "middle"o "right", (para hjust), "top", "center", "bottom"para vjust, y para cualquiera "inward"y "outward"que siempre se ajustará en hacia o fuera del centro.


Este comportamiento es similar en muchos basefunciones de gráficos, tales como el adjargumento para par, utilizados por text(), mtext()y title(), que puede ser vector de longitud 2 para los justificatons horizontales y verticales. También el hadjy padjargumentos para axis()justificaciones h orizontal a y p erpendicular al eje.

Gregor Thomas
fuente