2009-09-08 21 views
19

Tengo una trama() que estoy tratando de hacer, pero no quiero que los valores x se usen como etiquetas de eje ... Quiero un vector de caracteres diferente que quiero usar como etiquetas, en de la manera estándar: Use tantos como quepan, suelte los otros, etc. ¿Qué debo pasar a la trama() para que esto suceda?¿Cómo configuro con qué plot() etiqueta el eje x?

Por ejemplo, considere

d <- data.frame(x=1:5,y=10:15,x.names=c('a','b','c','d','e')) 

En barplot, me lo pase barplot(height=d$y,names.arg=d$x.names), pero en este caso los valores de x reales son importantes. Entonces me gustaría un análogo como plot(x=d$x,y=d$y,type='l',names.arg=d$x.names), pero eso no funciona.

+0

posible duplicado de [R: Reemplazar el eje X con valores propios] (http://stackoverflow.com/questions/5182238/r-replace-x-axis-with-own-values) –

Respuesta

47

creo que desea suprimir primero las etiquetas en el eje x con la xaxt = "n" opción:

plot(flow~factor(month),xlab="Month",ylab="Total Flow per Month",ylim=c(0,55000), xaxt="n") 

a continuación, utilizar el comando eje de añadir en sus propias etiquetas. Este ejemplo asume que las etiquetas están en un objeto llamado month.name

axis(1, at=1:12, labels=month.name) 

tuve que buscar la manera de hacer esto y I stole the example from here.

+12

Para aquellos que no lo hacen t saber: month.name es una constante incorporada que contiene "enero", "febrero", ..., "diciembre". Del mismo modo, month.abb da "Jan", ..., "Dec". –

+0

No sabía que Richie. ¡Gracias! –

+0

¡gracias! esto funcionó para mí; debe marcarse como respondida, ¿no? – Sameer

Cuestiones relacionadas