Een tijdreeks in r plotten (met voorbeelden)
Vaak wil je misschien een tijdreeks in R plotten om te visualiseren hoe de waarden in de tijdreeksen in de loop van de tijd veranderen.
In deze tutorial wordt uitgelegd hoe u dit snel kunt doen met behulp van de ggplot2- gegevensvisualisatiebibliotheek.
Basistijdreeksen plotten in R
Stel dat we de volgende dataset in R hebben:
#create dataset df <- data.frame(date = as . Date (" 2021-01-01 ") - 0:99, sales = runif (100, 10, 500) + seq (50, 149)^2) #view first six rows head(df) dirty date 1 2021-01-01 2845.506 2 2020-12-31 2837.849 3 2020-12-30 3115.517 4 2020-12-29 2847.161 5 2020-12-28 3374.619 6 2020-12-27 3182.005
We kunnen de volgende code gebruiken om een eenvoudige tijdreeksplot voor deze gegevensset te maken met behulp van ggplot2:
library (ggplot2) #create time series plot p <- ggplot(df, aes (x=date, y=sales)) + geom_line() #display time series plot p
Datums opmaken op de X-as
We kunnen de functie scale_x_date() * gebruiken om de datums op te maken die langs de x-as van de plot worden weergegeven. Deze functie heeft de volgende argumenten:
- %d: dag als getal tussen 0 en 31
- %a: afgekorte weekdag (bijvoorbeeld “di”)
- %A: niet-afgekorte dag van de week (bijvoorbeeld “dinsdag”)
- %m : Maanden tussen 0 en 12
- %b: afgekorte maand (bijvoorbeeld “Jan”)
- %B: niet-afgekorte maand (bijvoorbeeld “januari”)
- %y: jaartal van 2 cijfers (bijvoorbeeld “21”)
- %Y: jaartal van 4 cijfers (bijvoorbeeld “2021”)
- %W: Week van het jaar tussen 0 en 52
* Om deze functie te laten werken, moet de variabele op de x-as een datumvariabele zijn. Als dit nog niet het geval is, kunt u het snel naar een bestand converteren met as.Date( variabele_naam) .
De volgende code laat zien hoe u een van deze formaten in de praktijk kunt gebruiken:
p + scale_x_date ( date_labels = " %b %Y ")
U kunt ook vaker (of minder frequent) pauzes langs de x-as toevoegen met behulp van het argument date_breaks . We kunnen bijvoorbeeld elke twee weken datums weergeven langs de x-as:
p + scale_x_date ( date_breaks = " 2 week ")
We kunnen de x-aslabels ook gemakkelijk scheeftrekken met behulp van het volgende argument:
p + theme ( axis.text.x = element_text (angle= 50 , hjust= 1 ))
Ten slotte kunnen we het thema, de aslabels en de titel wijzigen om de tijdreeksplot visueel aantrekkelijker te maken:
p <- ggplot(df, aes (x=date, y=sales)) + geom_line( color =" turquoise4 ") + theme_minimal() + labs(x="", y=" Sales ", title=" Total Sales (Past 100 Days) ") + theme( plot.title = element_text (hjust=0.5, size=20, face=" bold ")) p
Aanvullende bronnen
Een complete gids voor de beste ggplot2-thema’s
De complete gids voor ggplot2-titels
Hoe zij-aan-zij-plots te maken in ggplot2