2017-08-14 3 views
1

Je voudrais ajouter la date concise et d'information de temps à ma parcelle R.Ajouter un vecteur de jours et des heures à tracer dans R

J'ajoute cette parcelle à un document de recherche et quand il est réduit à s'adapter à la modèle il perd une partie de son info.

Ma gamme datetime réelle est 20/07/2017 18:15 - 23/07/2017 21:15

Je voudrais abréger la date à jour tels que Thur 18h15 et Sun 21: 15 avec 5 jours et entre temps.

Je peux créer la plage correcte au format POSIXLT mais c'est trop grand pour mes besoins.

my.date <- seq(as.POSIXlt(strptime('20/07/2017 18:15',"%d/%m/%Y %H:%M"),tz="GMT"), as.POSIXlt(strptime('23/07/2017 21:15',"%d/%m/%Y %H:%M"),tz="GMT"),length.out = 7) 

Existe-t-il un meilleur moyen d'atteindre cette rage de datetime?

+1

Utilisez le format '(de my.date, "% a% H:% M")' vous mettre des étiquettes au choix formel. – Dave2e

+0

@ Dave2e, merci pour la réponse rapide, cela a fonctionné parfaitement, heureux d'accepter comme réponse. – TheGoat

Répondre

1

La clé de ce problème est de convertir l'objet POSIX en une chaîne de caractères avec le format souhaité. La fonction de format est utilisé ici: format(my.date, "%a %H:%M")

Voici un exemple simple:

my.date <- seq(strptime('20/07/2017 18:15',"%d/%m/%Y %H:%M"), 
       strptime('23/07/2017 21:15',"%d/%m/%Y %H:%M"), length.out = 7) 

#x axis labels in the desired format 
labels<-format(my.date, "%a %H:%M") 

#simple example with base graphics 
y<-2:8 
plot(my.date,y, axes=FALSE) 
#draw x and y axis 
axis(1, at=my.date, labels=labels) 
axis(2, at=y)