I grafici di barre animati chì ponu esse incrustati direttamente in un postu in qualsiasi situ web sò diventati sempri più populari. Mostranu a dinamica di i cambiamenti in ogni caratteristiche annantu à un certu tempu è facenu cusì chjaramente. Videmu cumu si creanu cù R è pacchetti generici.
Questi dui sò assai necessarii. Inoltre, tidyverse, janitor è scale seranu richiesti per gestisce e dati, pulizziari l'array è formate in cunseguenza.
dati
U dataset originale chì useremu in stu prughjettu hè scaricatu da u situ web di u Bancu Mundiale. Eccu sò - Dati di u Bancu Mundiale. U listessu dati, s'è vo avete bisognu di ready-made, pò esse telecaricatu da cartulare di prughjettu.
Chì tipu d'infurmazione hè questu? A mostra cuntene u valore di u PIB di a maiò parte di i paesi per parechji anni (da 2000 à 2017).
Trattamentu di dati
Avemu aduprà u codice publicatu sottu à priparà u furmatu di dati nicissarii. Emu sguassate i nomi di colonna, trasfurmemu i numeri in un formatu numericu, è cunvertisce e dati cù a funzione gather (). Salvemu tuttu ciò chì hè ricevutu in gdp_tidy.csv per più usu.
Tracendu un inseme cumpletu di histogrammi reali cù ggplot2.
Animate l'istogrammi statici cù i paràmetri desiderati cù gganimate.
L'ultimu passu hè di rende l'animazione in u furmatu desideratu, cumpresu GIF o MP4.
Caricà e librerie
biblioteca (tidyverse)
biblioteca (gganimate)
Gestione di i dati
In questu passu, avete bisognu di filtrà i dati per ottene i primi 10 paesi per ogni annu. Aghjunghjemu parechje colonne chì ci permettenu di vede una legenda per l'istogramma.
gdp_tidy <- read_csv("./data/gdp_tidy.csv")
gdp_formatted <- gdp_tidy %>%
group_by(year) %>%
# The * 1 makes it possible to have non-integer ranks while sliding
mutate(rank = rank(-value),
Value_rel = value/value[rank==1],
Value_lbl = paste0(" ",round(value/1e9))) %>%
group_by(country_name) %>%
filter(rank <=10) %>%
ungroup()
Custruisce istogrammi statici
Avà chì avemu un pacchettu di dati in u formatu necessariu, cuminciamu à disegnà istogrammi statici. Informazioni basiche - i primi 10 paesi cù u PIB massimu per l'intervallu di tempu sceltu. Creemu grafici per ogni annu.
A creazione di trame cù ggplot2 hè assai simplice. Comu pudete vede in a seccione di codice sopra, ci sò parechji punti chjave cù a funzione theme (). Sò necessarii per chì tutti l'elementi animanu senza prublemi. Qualchidunu di elli ùn ponu micca esse affissati se necessariu. Esempiu: Solu i linii di griglia verticale è e legende sò disegnati, ma i tituli di l'assi è parechji altri cumpunenti sò eliminati da l'area.
Animazione
A funzione chjave quì hè transition_states(), unisce grafici statici separati. view_follow() hè utilizatu per disegnà linee di griglia.
anim = staticplot + transition_states(year, transition_length = 4, state_length = 1) +
view_follow(fixed_x = TRUE) +
labs(title = 'GDP per Year : {closest_state}',
subtitle = "Top 10 Countries",
caption = "GDP in Billions USD | Data Source: World Bank Data")
Rende
Una volta chì l'animazione hè creata è guardata in l'ughjettu anim, hè u tempu di rende a funzione animate (). U rendering utilizatu in animate () pò esse diversu secondu u tipu di schedariu di output necessariu.