Animované stĺpcové grafy, ktoré možno vložiť priamo do príspevku na ľubovoľnej webovej stránke, sú čoraz populárnejšie. Zobrazujú dynamiku zmien akýchkoľvek charakteristík za určitý čas a robia to jasne. Pozrime sa, ako ich vytvoriť pomocou R a generických balíkov.
Títo dvaja sú mimoriadne potrební. Okrem toho bude potrebný poriadok, správca a váhy na správu údajov, vyčistenie poľa a príslušné formátovanie.
Dáta
Pôvodný súbor údajov, ktorý použijeme v tomto projekte, je stiahnutý z webovej stránky Svetovej banky. Tu sú - Údaje WorldBank. Rovnaké údaje, ak ich potrebujete hotové, je možné stiahnuť z priečinky projektu.
Čo je to za informácie? Vzorka obsahuje hodnotu HDP väčšiny krajín za niekoľko rokov (od roku 2000 do roku 2017).
Spracovanie dát
Na prípravu požadovaného formátu údajov použijeme kód uvedený nižšie. Vymažeme názvy stĺpcov, zmeníme čísla na číselný formát a prevedieme údaje pomocou funkcie collect(). Všetko prijaté v gdp_tidy.csv uložíme na ďalšie použitie.
Vykreslenie kompletnej sady skutočných histogramov pomocou ggplot2.
Animujte statické histogramy s požadovanými parametrami pomocou gganimate.
Posledným krokom je vykreslenie animácie v požadovanom formáte vrátane GIF alebo MP4.
Načítavajú sa knižnice
knižnica (uprataný)
knižnica (gganimate)
Správa údajov
V tomto kroku musíte filtrovať údaje, aby ste získali 10 najlepších krajín pre každý rok. Pridajme niekoľko stĺpcov, ktoré nám umožnia zobraziť legendu k histogramu.
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()
Vytváranie statických histogramov
Teraz, keď máme dátový balík v požadovanom formáte, začneme kresliť statické histogramy. Základné informácie - top 10 krajín s maximálnym HDP za zvolený časový interval. Vytvárame grafy pre každý rok.
Vytváranie grafov pomocou ggplot2 je veľmi jednoduché. Ako môžete vidieť v časti kódu vyššie, funkcia theme() má niekoľko kľúčových bodov. Sú potrebné, aby sa všetky prvky animovali bez problémov. Niektoré z nich sa v prípade potreby nemusia zobraziť. Príklad: Nakreslia sa iba zvislé čiary mriežky a legendy, ale z oblasti sa odstránia názvy osí a niekoľko ďalších komponentov.
animácie
Kľúčovou funkciou je tu transition_states(), spája samostatné statické grafy. view_follow() sa používa na kreslenie čiar mriežky.
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")
Vykreslenie
Keď je animácia vytvorená a uložená v objekte anim, je čas ju vykresliť pomocou funkcie animate(). Renderer použitý v animate() sa môže líšiť v závislosti od typu požadovaného výstupného súboru.