2011-08-30 10 views
10

Sé que va a ser rápido y sencillo para algunos de ustedes. Solo quiero tener una etiqueta de eje y horizontal usando mtext(). Tiene que ver con adj, supongo, pero he estado perdiendo las últimas 2 horas tratando de resolverlo ... En los ejemplos siguientes, solo quiero que las etiquetas y (myLab) sean horizontales y se justifiquen a la izquierda.mtext() para agregar etiquetas horizontales y

myLab <- c("aaaaaaa", "bb", "c") 

par(oma=c(0,10,0,0)) # make a large left maring for the labels 

plot(x=c(1:3), 
    y=c(1:3), 
    pch="|", 
    lwd=3, 
    tck=0.01, 
    yaxt="n", 
    ylab="", 
    xlab="my legend", 
    at= c(1:3), 
    ) 


mtext(text=myLab, 
     side=2, 
     outer = FALSE, 
     at=c(1:3) 
    ) 

No necesito usar mtext(). Si tienes una mejor alternativa, házmelo saber.

Gracias!

Respuesta

9

utilizar el argumento de las:

mtext(text=myLab, las=1, 
     side=2, 
     outer = FALSE, 
     at=c(1:3) 
     ) 

los lleva hasta el borde, pero se puede rellenar con espacios finales en los valores Mylab. Puede izquierda justificar el uso de un valor de 0 adj (en comparación con el valor por defecto de 1):

plot(x=c(1:3), 
     y=c(1:3), 
     pch="|", 
     lwd=3, 
     tck=0.01, 
     yaxt="n", 
     ylab="", 
     xlab="my legend" # removing extraneous `at` value that only throws a warning 
    ) 
mtext(text=myLab, las=1, adj=0, 
     side=2, 
     outer = FALSE, 
     line=3.5, at=1:3 
     ) 
+0

Para ese tipo de problema que tengo en mi 'par' velocidad de línea?. –

+0

El uso de la línea = 1 lo mueve desde el borde en lugar de los espacios finales. – Olivier

Cuestiones relacionadas