web-dev-qa-db-fra.com

Formatage des dates avec scale_x_date dans ggplot2

Dans une version précédente de ggplot2, j'ai pu utiliser l'une des deux commandes suivantes pour formater mes dates x: Soit

scale_x_date(breaks = "1 month", minor_breaks = "1 week", labels=(date_format="%B")) +

ou

scale_x_date(major="months", minor="weeks", format="%B") +

pour produire le format "% B", avec un nom de mois complet.

(Je crains de ne plus pouvoir distinguer lequel a fonctionné, car ils ont tous deux été commentés.)

Je ne me souviens pas quand, mais après avoir mis à jour R ou ggplot dans une mise à niveau ubuntu 12.04, cela ne fonctionnait plus pour moi. Maintenant, les mêmes données produisent l'erreur:

Error in scale_labels.continuous(scale) : 
  Breaks and labels are different lengths

Avec le premier, et

Error in continuous_scale(aesthetics, "date", identity, breaks = breaks,  : 
  unused argument(s) (major = "months", minor = "weeks", format = "%B")

Avec le second.

Si je supprime l'argument labels = et applique

scale_x_date(breaks = "1 month", minor_breaks = "1 week") +

il produit un format de date de "AAAA-MM-JJ" le premier de chaque mois.

En consultant l'aide de la fonction? Scale_x_date, j'ai également essayé ce qui suit:

scale_x_date(breaks = "1 month", minor_breaks = "1 week", labels=date_format("%B")) +

Mais cela produit cette erreur:

Error in structure(list(call = match.call(), aesthetics = aesthetics,  : 
  could not find function "date_format"

Comment puis-je obtenir la mise en forme du nom du mois "% B" sur mon axe x? (Si vous avez des informations supplémentaires sur la mécanique produisant ces messages d'erreur, je l'apprécierais également.)

50
Mittenchops

Avec le nouveau ggplot2 v 2.0.0, un moyen de le faire est:

scale_x_date(date_breaks = "1 month", date_minor_breaks = "1 week", date_labels = "%B")
51
YCR

Peu importe, la réponse a été d'utiliser la version trouvée dans la documentation,

scale_x_date(breaks = "1 month", minor_breaks = "1 week", labels=date_format("%B")) +

Et pour inclure library(scales) comme le dit documentation .

59
Mittenchops