Reemplazar el eje X con valores propios


95

Tengo una pregunta sobre el comando plot ().

¿Hay alguna manera de eliminar completamente el eje x y reemplazarlo con valores propios? Sé que puedo deshacerme del eje haciendo

plot(x,y, xaxt = 'n')

y luego agregue un eje con

axis(side = 1 etc.)

Sin embargo, cuando agrego el eje, obviamente todavía se refiere a los datos trazados como 'x'. Solo me gustaría trazar los valores 'y' y agregar el eje x el mío en el sentido de simplemente "dibujar" el eje x con valores propios especificados. ¿Hay alguna manera de hacerlo?

El trasfondo de esta pregunta es que mis dos marcos de datos difieren en su longitud y, por lo tanto, no puedo trazarlos.


¿Quiere trazar vectores con diferentes longitudes o simplemente quiere establecer la etiqueta x usted mismo? ¿Podría dar un ejemplo o dar más información sobre el conjunto de datos?
Manoel Galdino

Es posible que también desee ver cómo combinar dos marcos de datos. Es posible que pueda hacer más gráficos a partir de sus datos y probablemente hacer que los datos sean más informativos.
Sam



Respuestas:


176

No estoy seguro de si es a lo que te refieres, pero puedes hacer esto:

plot(1:10, xaxt = "n", xlab='Some Letters')
axis(1, at=1:10, labels=letters[1:10])

que luego te da el gráfico:

ingrese la descripción de la imagen aquí


¡Gracias Tim! No es exactamente lo que estaba buscando, pero me ayudó a hacer lo que quería =)
Dani

5
xey tienen la misma longitud en este caso. ¿Cómo se dibujan n etiquetas cuando la longitud del otro eje es m?
Colbert Sesanker

2
solo como referencia: la xaxt="n"opción en el plotcomando suprime el etiquetado del eje x. Si no se incluye esta opción, axisserá un NOOP.
Steen

Esto funciona, pero ¿cómo lo giro para que quede vertical? las = 2 no funciona.
Runningbirds

Probé la solución. xaxt = "n"La opción funcionó para las series temporales de la clase ts. Pero, en el caso de múltiples series de tiempo (clase mts) no funcionó.
Erdogan CEVHER

14

También podría colocar el labels = FALSEinterior axis(...)e imprimir las etiquetas en un comando separado con Texto. Con esta opción puedes rotar el texto el texto en caso de que lo necesites

lablist<-as.vector(c(1:10))
axis(1, at=seq(1, 10, by=1), labels = FALSE)
text(seq(1, 10, by=1), par("usr")[3] - 0.2, labels = lablist, srt = 45, pos = 1, xpd = TRUE)

Explicación detallada aquí

Imagen con etiquetas giradas


El enlace a detailed explanationestá muerto
javadba
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.