[R-es] problema con los cambios de marcas temporales en el eje X

Isidro Hidalgo ihidalgo en jccm.es
Lun Sep 8 14:01:13 CEST 2014


¿Y si montas una variable ficticia (de valor uniforme), cuyos valores en
abcisas sean los que quieres? La pones transparente, para que no se vea, y
luego dibujas el resto de la gráfica?

Un saludo.

 

Isidro Hidalgo Arellano

Observatorio Regional de Empleo

Consejería de Empleo y Economía

http://www.jccm.es

 

 

 

De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org]
En nombre de Carlos Fernández-Delgado
Enviado el: lunes, 08 de septiembre de 2014 13:35
Para: Carlos Ortega
CC: Lista R
Asunto: Re: [R-es] problema con los cambios de marcas temporales en el eje X

 

Muchísimas gracias Carlos, de verdad que te agradezco la ayuda, pero no es
lo que voy buscando. Quiero colocar en el eje de abscisas la secuencia
temporal de los meses, es decir, agosto septiembre, octubre, etc… pero no
las fechas de las toma de datos, sino que aparezca la marca de un mes, y la
siguiente marca sea la del siguiente mes, etc…, y además que las muestras
estén separadas de acuerdo con la fecha que les corresponde, en la que me
envías las fechas están ahora equidistantes. He hecho una simulación de la
gráfica que voy buscando en la imagen adjunta.

Muchas gracias

Carlos

 





 

El 08/09/2014, a las 11:43, Carlos Ortega <cof en qualityexcellence.es>
escribió:

 

Hola,

En vez de utilizar un eje "X" de tipo "Date", prefiero ajustarlo utilizando
las fechas como si fuesen "strings".

Mira si esto es lo que buscabas...


#---------------------------
datIn <- read.csv("Libro1.csv", header=T, sep=";", dec=",")


library(lubridate)
datIn$mes <- month(dmy(datIn$fecha), label=T, abbr=T)
datIn$anio <- year(dmy(datIn$fecha))
xlabels <- paste(datIn$mes,"-",datIn$anio,sep="")
  
par(oma=c(4,2,1,1))
plot(datIn$xbar, axes=F, type="b", pch=19, ylim=c(400,650), xlab="",
ylab="xbar")
axis(1,at=1:length(datIn$xbar), labels=xlabels,cex.lab=0.5, las=2)
axis(2)
box()

datIn$xorig <- 1:dim(datIn)[1]
arrows(
           x0=datIn$xorig, y0=datIn$lci
          ,x1=datIn$xorig, y1=datIn$lcs,
          ,angle=90, code=3, length=0.1
        )
mtext("Fechas", side=1, line=1, outer=T)

#---------------------------

<Rplot.png>

Saludos,
Carlos Ortega
www.qualityexcellence.es <http://www.qualityexcellence.es/> 

 

El 8 de septiembre de 2014, 10:57, Carlos Fernández-Delgado
<ba1fedec en uco.es> escribió:

Muchas gracias Carlos, previo a mi correo, entre las pruebas que hice estaba
una parecida a la que apuntas de la siguiente manera:

 

attach (Libro1)

plot (xbar~as.Date(fechas,"%d/%m/%y"), ylim=c(400,660), xaxt="n", type="b",
pch=19,cex=1)

      xlabels<-strptime(fecha,format="%d/%m/%Y")

      axis.Date (1,at=xlabels,format="%b-%y")

arrows(x0=as.Date(fechas,"%d/%m/%y"),y0=lci,
x1=as.Date(fechas,"%d/%m/%y"),y1=lcs,angle=90,code=3,length=.1)

 

Pero esta me saca las etiquetas que yo tengo (ver grafica adjunta), sin
embargo lo que voy buscando es colocar las marcas de los meses enteros (con
30 o 31 días según corresponda) en donde se ha realizado el estudio a lo
largo del eje x. 

Muchas gracias por tu ayuda.

Carlos




 

El 08/09/2014, a las 00:05, Carlos Ortega <cof en qualityexcellence.es>
escribió:

 

Hola,

Una forma de hacerlo es:

1. incluyes un parámetro en "plot(..., axes=F)" y así indicas que no quieres
pintar automáticamente los ejes.

2. Y ahora construyes el eje "x" con la función "axis()".

3. Dentro de axis(), dirás cada cuánto quieres pintar una marca (parámetro
"at") y qué quieres incluir en la marca (parámetro "label").


Para ver un ejemplo, mira el ejemplo que aparece en la ayuda de la función
"axis()".

 

Saludos,

Carlos Ortega

www.qualityexcellence.es <http://www.qualityexcellence.es/> 

 

El 7 de septiembre de 2014, 20:46, Carlos Fernández-Delgado
<ba1fedec en uco.es> escribió:

Estimada Comunidad, solicito vuestra ayuda en un tema quizás un poco tonto,
pero no logro dar con la tecla.

Estoy intentando hacer una gráfica de la evolución temporal de una variable
(xbar) a lo largo del tiempo.

La secuencia que he hecho es la siguiente:

attach(Libro1)

plot (xbar~as.Date(fechas,"%d/%m/%y"), ylim=c(400,650), type="b",
pch=19,cex=1)

arrows(x0=as.Date(fechas,"%d/%m/%y"),y0=lci,x1=as.Date(fechas,"%d/%m/%y"),y1
=lcs,angle=90,code=3,length=.1)

 

El problema es que la gráfica emitida por R me saca en abscisas una serie de
meses que me los coloca por defecto (ver gráfica adjunta) y lo que yo quiero
es poner marcas mensuales desde agosto de 2013 hasta mayo 2014, incluido el
cambio de año (ya sea dic’13 o ene’14), pero por mucho que lo intento no me
sale.

 

¿Podéis ayudarme?.

Muchas gracias por adelantado y un cordial saludo

 

Carlos

 

 

 

 






 

 


_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es




-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es <http://www.qualityexcellence.es/>  






_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es




-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es <http://www.qualityexcellence.es/>  


	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es