Foro de debate

Modificar eje X

Modificar eje X

de Marina Sev -
Número de respuestas: 4
Buenas tardes,

estoy tratando de sacar unas gráficas de líneas, pero me encuentro con el siguiente problema.

Tengo un data frame (sp12) con 4 columnas:

mes - año - var1 - var2

Mi intención es representar en un gráfico de líneas, por ejemplo, la variable 1, donde el eje Y muestre los valores de la variable y el eje X los años.

Mi problema viene que tengo el mismo valor de año repetido 12 veces (por los 12 meses del año) tal como muestro a continuación:


Aplicando la línea:
 
plot(x=sp12$YEAR, y=sp12$A1_12,col='black', type='l',main='A1', xlab='Años', ylab='valor') 

obtengo la gráfica de la primera imagen adjunta, toma desordenados los valores de la variable 1 (A1_12).

Aplicando esta línea:

plot(sp12[,3],type='l')


obtengo los valores correctamente ordenados, pero el eje X no muestra los años.


He probado distintos comandos que he encontrado pero casi siempre vienen referidos a formatos 'fecha' (ej as.date). He indagado en la librería ggplot2 y lattice, pero no doy con la tecla.

Lo que quiero conseguir es insertar un eje X con los años únicamente.


Gracias de antemano.

En respuesta a Marina Sev

Re: Modificar eje X

de Jose Luis Cebrián -

Hola

en el  segundo gráfico no muestra los años porque no se lo has indicado.

En el primero, se me ocurre que a lo mejor conviertas la variable YEAR en factor

as.factor(YEAR)

plot(x=as.factor(sp12$YEAR), y=sp12$A1_12,col='black', type='l',main='A1', xlab='Años', ylab='valor')  


Aunque te quedaría más bonito usando ggplot. A lo mejor algo así

qplot(YEAR, A1, data = sp12, geom = c("point", "line"), colour =YEAR)

En respuesta a Jose Luis Cebrián

Re: Modificar eje X

de Marina Sev -

Hola Jose,

muchas gracias por las propuestas. Ambas las había probado. Lo primero que hice fue convertir a factor la variable YEAR:

year<-as.factor(sp12$YEAR)

qplot(x=year, y=sp12$A1_12,col='black',type='l', xlab='Años', ylab='valor')

R me devuelve:


En el segundo gráfico no le definí que me mostrara los años porque la representación es diferente a si los defino.

Esto se debe a que R, por algún motivo, está ordenándome los valores en la primera gráfica en función al año, pero desordenado (tengo además un campo mes, y cada año se repite 12 veces)

Gracias nuevamente por el tiempo y las molestias, realmente lo agradezco.

Un saludo.

En respuesta a Marina Sev

Re: Modificar eje X

de Marina Sev -

Otro intento ha sido con la función ggplot (tomando la variable YEAR como factor o numérico) el resultado es el siguiente:

ggplot(aes(x = YEAR, y = A1_12, group=1), data = sp12) +  geom_line( ) + ggtitle("SP12")


Igualmente, he optado por crear un campo ID (factor) que sea la concatenación de MONTH + YEAR

ggplot(aes(x = ID, y = A1_12, group=1), data = sp12) +  geom_line( ) + ggtitle("SP12")

Pero no me permite ver nada. Los datos bien representados responden a este plot (abajo) sobre el que querría definir el eje Y en años.