Hola, Ya, me lo he imaginado al poco de enviarlo... De esta forma sí que se respeta la separación por fecha en el eje X...
#---------------------- library(lubridate) datIn$xlabels <- as.Date(dmy(datIn$fecha), format="%Y-%m-%d") datIn$mes <- month(dmy(datIn$fecha), label=T, abbr=T) datIn$anio <- year(dmy(datIn$fecha)) datIn$mesanio <- paste(datIn$mes,"-",datIn$anio,sep="") plot ( datIn$xbar ~ datIn$xlabels ,ylim=c(400,660), xaxt="n", type="b", pch=19,cex=1, ,axes=F ) axis.Date(1,at=datIn$xlabels,format="%b-%y", labels=datIn$mesanio, las=2, cex.axis=0.5) axis(2) box() arrows( x0=datIn$xlabels,y0=datIn$lci ,x1=datIn$xlabels,y1=datIn$lcs ,angle=90,code=3,length=.1 ) #---------------------- [image: Imágenes integradas 1] El 8 de septiembre de 2014, 13:35, Carlos Fernández-Delgado <ba1fe...@uco.es > escribió: > 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 <c...@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 > > El 8 de septiembre de 2014, 10:57, Carlos Fernández-Delgado < > ba1fe...@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 <c...@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 >> >> >> El 7 de septiembre de 2014, 20:46, Carlos Fernández-Delgado < >> ba1fe...@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@r-project.org >>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >>> >> >> >> -- >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >> >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > -- Saludos, Carlos Ortega www.qualityexcellence.es
_______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es