Diagramele cu bare animate care pot fi încorporate direct într-o postare de pe orice site web devin din ce în ce mai populare. Ele afișează dinamica modificărilor oricăror caracteristici într-un anumit timp și fac acest lucru în mod clar. Să vedem cum să le creăm folosind R și pachete generice.
Aceste două sunt extrem de necesare. În plus, tidyverse, janitor și cântare vor fi necesare pentru a gestiona datele, a curăța matricea și a formata în consecință.
De date
Setul de date original pe care îl vom folosi în acest proiect este descărcat de pe site-ul Băncii Mondiale. Aici sunt ei - Datele Băncii Mondiale. Aceleași date, dacă aveți nevoie de ele gata făcute, pot fi descărcate de pe folderele de proiect.
Ce fel de informație este aceasta? Eșantionul conține valoarea PIB-ului majorității țărilor pentru mai mulți ani (din 2000 până în 2017).
Procesarea datelor
Vom folosi codul postat mai jos pentru a pregăti formatul de date necesar. Ștergem numele coloanelor, transformăm numerele într-un format numeric și convertim datele folosind funcția gather(). Salvăm tot ce este primit în gdp_tidy.csv pentru utilizare ulterioară.
Trasarea unui set complet de histograme reale folosind ggplot2.
Animați histogramele statice cu parametrii doriti folosind gganimate.
Pasul final este redarea animației în formatul dorit, inclusiv GIF sau MP4.
Se încarcă biblioteci
bibliotecă (tidyverse)
bibliotecă (gganimate)
Management de date
În acest pas, trebuie să filtrați datele pentru a obține primele 10 țări pentru fiecare an. Să adăugăm mai multe coloane care ne vor permite să afișăm o legendă pentru histogramă.
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()
Construirea de histograme statice
Acum că avem un pachet de date în formatul necesar, începem să desenăm histograme statice. Informații de bază - primele 10 țări cu PIB maxim pentru intervalul de timp selectat. Cream grafice pentru fiecare an.
Crearea de diagrame folosind ggplot2 este foarte simplă. După cum puteți vedea în secțiunea de cod de mai sus, există câteva puncte cheie cu funcția theme(). Sunt necesare pentru ca toate elementele să se anime fără probleme. Este posibil ca unele dintre ele să nu fie afișate dacă este necesar. Exemplu: Sunt desenate doar liniile și legendele grilei verticale, dar titlurile axelor și alte câteva componente sunt eliminate din zonă.
animație
Funcția-cheie aici este transition_states(), care leagă împreună grafice statice separate. view_follow() este folosit pentru a desena linii de grilă.
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")
Redare
Odată ce animația este creată și stocată în obiectul anim, este timpul să o redați folosind funcția animate(). Redarea utilizată în animate() poate fi diferită în funcție de tipul de fișier de ieșire necesar.