2012-05-13 3 views
38

In einer früheren Version von ggplot2, war ich in der Lage zu verwenden, eine der beiden folgenden Befehle meine x Daten zu formatieren: EntwederFormatierungsdaten mit scale_x_date in ggplot2

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

oder

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

um das "% B" -Format des vollständigen Monatsnamens zu erstellen.

(Ich fürchte, ich kann nicht mehr unterscheiden, was man gearbeitet, weil sie beide waren als Kommentar gekennzeichnet.)

Ich erinnere mich nicht, wann, aber nach entweder R oder ggplot in einem ubuntu 12.04 Upgrade aktualisieren, das funktionierte nicht mehr für mich. Nun erzeugt die gleichen Daten den Fehler:

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

Mit dem ersten und

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

Mit dem zweiten.

Wenn ich die Etiketten = Argument entfernen und anwenden

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

es erzeugt ein Datumsformat von „YYYY-MM-DD“ auf dem ersten eines jeden Monats. ?

Beratung mit Hilfe für die Funktion scale_x_date habe ich auch versucht, das folgende:

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

Aber diese erzeugt diesen Fehler:

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

Wie kann ich Monatsnamen „% erreichen B "Formatierung auf meiner X-Achse? (Wenn Sie irgendwelche zusätzlichen Einblick in die Mechanik diese Fehlermeldungen produzieren, würde ich schätzen es auch.)

+3

Es gibt viele bedeutende Veränderungen in ggplot 0.9.0 waren. Sie werden den [Übergangsleitfaden] (http://cloud.github.com/downloads/hadley/ggplot2/guide-col.pdf) sehr hilfreich finden, um auf dem neuesten Stand zu sein. – joran

Antwort

29

Mit dem neuen ggplot2 v 2.0.0, eine Möglichkeit, es zu tun ist:

scale_x_date(date_breaks = "1 month", date_minor_breaks = "1 week", date_labels = "%B") 
+4

Meine Antwort unten ist jetzt veraltet. Dies hat die richtigen Parameter. – Mittenchops

54

Nevermind, die Antwort war die Version in der Dokumentation zu verwenden,

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

Und schließen Sie library(scales) ein, wie die documentation sagt.

+1

Sie sollten dies als eine vollständige Antwort betrachten und diesen Thread schließen. –

+1

Vielleicht aktualisieren die Parameter zu 'date_break' und' date_minor_break' seit der neuen 'ggplot2' Version ... – drmariod

+0

korrigieren @drmariod, scheint es die API hat sich wieder geändert und meine Antwort ist nicht mehr gültig (obwohl der Hinweis, die Version zu verwenden Gefunden ist die Dokumentation immer noch gut!). Ich werde die Antwort von YCR als jetzt korrekt erkennen, wenn ich überarbeiten kann ... – Mittenchops