Come regolare all'asse scala temporale per ggplot istogramma
Domanda
sto lavorando con un frame di dati in cui una delle colonne è costituito da valori di data e ora POSIXct
. Sto cercando di tracciare un istogramma di questi timestamp usando ggplot2
ma sto avendo due questioni:
-
Non so come impostare la binwidth in
geom_histogram()
. Mi piacerebbe impostare ogni bin per un giorno o una settimana. Ho provato fornendo un oggetto difftime, ma ottengo un errore. Ho anche provatobinwidth=1
ma R si blocca solo. -
Come faccio a impostare i limiti in
scale_x_time()
? L'unico modo ho potuto ottenere a lavoro era convertendo i miei timestampPOSIXct
utilizzandoas.Date()
.
Soluzione
- Il binwidth viene misurata in secondi, in modo da bin a settimana insieme
binwidth=7*24*60*60
. - Limiti può essere somministrato come un vettore di 2 oggetti POSIXct.
Un esempio:
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)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow