I grafici a barre animati che possono essere incorporati direttamente in un post su qualsiasi sito web stanno diventando sempre piΓΉ popolari. Mostrano la dinamica dei cambiamenti in qualsiasi caratteristica in un certo tempo e lo fanno chiaramente. Vediamo come crearli utilizzando R e pacchetti generici.
Ti ricordiamo:per tutti i lettori di "Habr" - uno sconto di 10 rubli al momento dell'iscrizione a qualsiasi corso Skillbox utilizzando il codice promozionale "Habr".
Questi due sono estremamente necessari. Inoltre, tidyverse, bidello e bilancia dovranno gestire i dati, ripulire l'array e formattarlo di conseguenza.
Dati
Il set di dati originale che utilizzeremo in questo progetto viene scaricato dal sito web della Banca Mondiale. Eccoli - Dati della Banca Mondiale. Gli stessi dati, se ne hai bisogno giΓ pronti, possono essere scaricati da cartelle di progetto.
Che tipo di informazioni sono queste? Il campione contiene il valore del PIL della maggior parte dei paesi per diversi anni (dal 2000 al 2017).
Elaborazione dati
Utilizzeremo il codice pubblicato di seguito per preparare il formato dati richiesto. Cancellamo i nomi delle colonne, trasformiamo i numeri in un formato numerico e convertiamo i dati utilizzando la funzione raccogli(). Salviamo tutto ciΓ² che riceviamo in gdp_tidy.csv per un ulteriore utilizzo.
Tracciare un set completo di istogrammi reali utilizzando ggplot2.
Anima gli istogrammi statici con i parametri desiderati utilizzando gganimate.
Il passaggio finale Γ¨ eseguire il rendering dell'animazione nel formato desiderato, incluso GIF o MP4.
Caricamento delle librerie
libreria (tidyverse)
libreria(gganimate)
Gestione dei dati
In questo passaggio, devi filtrare i dati per ottenere i primi 10 paesi per ogni anno. Aggiungiamo diverse colonne che ci permetteranno di visualizzare 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()
Costruire istogrammi statici
Ora che disponiamo di un pacchetto dati nel formato richiesto, iniziamo a disegnare istogrammi statici. Informazioni di base: i primi 10 paesi con il PIL massimo per l'intervallo di tempo selezionato. Creiamo grafici per ogni anno.
La funzione chiave qui Γ¨ transit_states(), unisce grafici statici separati. view_follow() viene utilizzato per disegnare le linee della 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")
Rendering
Una volta creata e archiviata l'animazione nell'oggetto anim, Γ¨ il momento di renderizzarla utilizzando la funzione animate(). Il renderer utilizzato in animate() puΓ² essere diverso a seconda del tipo di file di output richiesto.