Wie Zeitskala Achse für ggplot Histogramm anpassen
Frage
ich mit einem Datenrahmen arbeite, wo eine der Spalten von POSIXct
Datum Zeitwert besteht. Ich versuche, ein Histogramm dieser Zeitstempel plotten ggplot2
verwenden, aber ich habe zwei Fragen:
-
Ich weiß nicht, wie die binwidth in
geom_histogram()
einzustellen. Ich möchte jedes Fach einen Tag oder eine Woche einzustellen. Ich habe versucht, ein difftime Objekt bereitstellt, aber ich erhalte eine Fehlermeldung. Ich habe auch versuchtbinwidth=1
aber R hängt nur. -
Wie kann ich die Grenzen in
scale_x_time()
? Die einzige Art, wie ich es an die Arbeit konnte, war durch meinePOSIXct
Zeitstempel konvertieren mitas.Date()
.
Lösung
- Die binwidth wird in Sekunden gemessen, so ist pro Woche Satz
binwidth=7*24*60*60
. - Limits kann als Vektor von 2 POSIXct Objekte gegeben werden.
Ein Beispiel:
y<-as.POSIXct('1970/01/01')+cumsum(rnorm(100,mean=24*60*60,sd=24*60*60))
p<-qplot(y,binwidth=7*24*60*60,fill=I('steelblue'),col=I('black'))
p<-p+scale_x_datetime(major="1 week",
minor="1 days",
format="%e/%m/%Y",
limits=c(as.POSIXct('1970/02/01'),
as.POSIXct('1970/03/31')))
print(p)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow