Questa è una vecchia versione del documento!
Indice
Rappresentare le serie storiche
Oggetti ‘ts’ con ggfortify
Per rappresentare graficamente le serie storiche con ggplot2 (e più in generale per lavorare con le serie storiche e i pacchetti del tidyverse), è necessario ricorrere alle funzioni del pacchetto ggfortify:
install.packages("ggfortify") library(ggfortify)
library(tidyverse)
Utilizziamo la funzione autoplot():
AirPassengers %>% autoplot()
Oggetti ‘data.frame’ con geom_line()
Le serie storiche in formato di dataframe, invece, possono essere
rappresentate direttamente con geom_line().
Trasformiamo la serie in dataframe, con una funzione di ggfortify:
ts.df <- fortify(AirPassengers, index.name = "Date", data.name = "Passengers") head(ts.df)
## Date Passengers ## 1 1949-01-01 112 ## 2 1949-02-01 118 ## 3 1949-03-01 132 ## 4 1949-04-01 129 ## 5 1949-05-01 121 ## 6 1949-06-01 135
ts.df %>% ggplot(aes(x = Date, y = Passengers)) + geom_line()
Rappresentare il tempo sull’asse delle ascisse
Intanto, come esempio di personalizzazione, modifichiamo il tema predefinito e cambiamo i caratteri base del grafico:
# fonts library(extrafont) # impostazioni del tema theme_set(theme_minimal() + theme(text = element_text(family = "Open Sans")))
Vedi: I temi predefiniti (ggplot2)
Per cambiare la rappresentazione della data, possiamo usare la funzione:
scale_x_date()
ts.df %>% ggplot(aes(x = Date, y = Passengers)) + geom_line(size = 1, linetype = "dotted", col = "blue") + scale_x_date(date_breaks = "1 year", # intervalli date_labels = "%Y") # formato delle etichette
Per avere una scala triennale:
scale_x_date(date_breaks = "3 years",
date_labels = "%Y")
Per ottenere un risultato analogo con autoplot():
AirPassengers %>% autoplot(ts.size = 1, ts.linetype = "dotted", ts.col = "blue") + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + labs(y = "Passengers", x = "Date")
Vedi:
