Me preguntaba cómo podría trazar más marcas al trazar el tiempo en el eje x.R Trazar Especifique el número de marcas de tiempo: hora/fecha equivalente a bonita
Básicamente, un tiempo equivalente a bastante. Obviamente, no funciona tan bien con los tiempos, ya que usa factores de 1, 2, 5 y 10. Por tiempo uno probablemente quiera, p. horas, medias horas, ...
plot(as.POSIXct(x,origin="1960-01-01"),y,type="l",xlab="Time")
da realmente muy pocos y muy espaciados tickmarks.
zoox<-zoo(y,as.POSIXct(stats$Time,origin="1960-01-01"))
plot(zoox)
da lo mismo.
Gracias
EDIT:
sólo para aclarar (respuestas hasta el momento no se ocupan de mi problema): Lo que estoy buscando es una función como bonito para las fechas, por ejemplo, una función, que toma una fecha de inicio, una fecha de finalización, un número de tics y genera la ubicación de los tics. Es decir, soy consciente de que es posible trazar horas, trazar los minutos, y qué más, pero bastante automatiza la distancia de tics para los números, y una función resultante para las fechas debería decidir por sí misma si usar días, horas, minutos, segundo, milisegundos, microsegundos, 30 minutos, 500 micros, 5 segundos, etc. intervalos. Eso es lo que hace bastante para los números, de todos modos.
Edit2:
Ésta es la función que utilizo actualmente para decidir el formato para el eje de tiempo (tenga en cuenta que esto no funciona para las fechas):
mydiff <- end-start
if(mydiff>1800) {
axis.POSIXct(1,xrange,format="%H:%M")
} else if(mydiff>30) {
axis.POSIXct(1,xrange,format="%H:%M:%S")
} else if(mydiff>0.5) {
axis.POSIXct(1,xrange,format="%H:%M:%OS3")
} else
axis.POSIXct(1,xrange,format="%H:%M:%OS6")
}
que no tienen una función que aumenta las marcas, así que uso el número predeterminado de marcas
las funciones internas del R no tendrá en cuenta las unidades de tiempo menor que el segundo. La clase 'POSIXct' puede ocuparse de segundos decimales, pero las funciones auxiliares alrededor de esta clase generalmente solo funcionan en el segundo nivel. Entonces, el intervalo de microsegundos realmente estará en segundos decimales ** y ** deben manejarse a mano. –
@GavinSimpson: Untrue, al menos en mi sistema de micros funcionan perfectamente. Utilice 'axis.POSIXct (1, xrange, format ="% H:% M:% OS6 ")' para mostrarlos en el gráfico. Déjame hacer otra edición con una función apropiada. Mientras que la unidad es segundos, es un valor doble y tiene una precisión bastante alta. – Cookie
Hace 'library (xts); ? axTicksByTime', o 'quantmod ::: axTicksByTime2' hacer lo que quieras? – GSee