2016-04-23 5 views
7

Sto pianificando il tempo di percorrenza di una serie di strade con una risoluzione oraria, con dati nell'arco di alcune settimane.ggplot python che gestisce i dati temporali per molte settimane a risoluzione oraria

È possibile tracciare l'ora utilizzando unix time, ma non è molto intuitivo. Questo è un valore di 7 giorni di dati.

enter image description here

ho usato una funzione di manipolare il campo time al fine di dare la data e l'ora:

def plot_time(time): 
    return time.strftime('%Y-%m-%d-%H') 

Tuttavia, questo si traduce in ggplot gettando un errore di valore quando si cerca di tracciare:

ValueError: invalid literal for float(): 2016-04-13-00 

C'è un mezzo più semplice per visualizzare la data e qualche ora?

In alternativa, è possibile tracciare un tempo di unix con una scala di data sull'asse, ma sarebbe bello avere una risoluzione di un'ora sull'asse.

+1

Con 'ggplot2', un formato facile da usare è' POSIXct'. Potresti fornirci il formato originale della variabile temporale? – bVa

+0

Il formato originale è il tempo di epoca Unix. Ad esempio, '1456732801' – LearningSlowly

risposta

3

POSIXct era la chiave qui come bVa ha detto.

ggplot(aes(x=as.POSIXct(epoch_time,origin="1970-01-01"),y=lambda) 

Una volta che il tempo è stato formattato epoca POSIXct, è stato possibile utilizzare scale_x_datetime()

ho optato per:

+ scale_x_datetime(breaks=date_breaks("1 day"))