Edozein webgunetako argitalpen batean zuzenean txerta daitezkeen barra-diagrama animatuak gero eta ezagunagoak dira. Denbora jakin batean edozein ezaugarriren aldaketen dinamika erakusten dute eta hori argi egiten dute. Ikus dezagun nola sortu R eta pakete generikoak erabiliz.
Bi hauek oso beharrezkoak dira. Horrez gain, tidyverse, janitor eta baskulak beharko dira datuak kudeatzeko, array garbitzeko eta horren arabera formateatzeko.
Datu
Proiektu honetan erabiliko dugun jatorrizko datu multzoa Munduko Bankuaren webgunetik deskargatzen da. Hemen daude - Munduko Bankuko Datuak. Datu berdinak, prest egin behar badituzu, hemendik deskargatu daitezke proiektuen karpetak.
Nolako informazioa da hau? Laginak herrialde gehienen BPGaren balioa jasotzen du hainbat urtetan (2000tik 2017ra).
Datuen tratamendua
Behean argitaratutako kodea erabiliko dugu beharrezko datu-formatua prestatzeko. Zutabeen izenak garbitzen ditugu, zenbakiak zenbaki formatuan bihurtzen ditugu eta bildu () funtzioa erabiliz datuak bihurtzen ditugu. Gdp_tidy.csv-n jasotako guztia gordetzen dugu gehiago erabiltzeko.
Benetako histogramen multzo osoa marraztea ggplot2 erabiliz.
Animatu histograma estatikoak nahi diren parametroekin gganimate erabiliz.
Azken urratsa animazioa nahi den formatuan errendatzea da, GIF edo MP4 barne.
Liburutegiak kargatzen
liburutegia (tidyverse)
liburutegia (gganimatu)
Datuen kudeaketa
Urrats honetan, datuak iragazi behar dituzu urte bakoitzeko 10 herrialde nagusiak lortzeko. Gehi ditzagun hainbat zutabe, histogramarako kondaira bat bistaratzeko aukera emango digutenak.
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()
Histograma estatikoak eraikitzea
Orain datu pakete bat behar den formatuan daukagunez, histograma estatikoak marrazten hasiko gara. Oinarrizko informazioa - hautatutako denbora tarterako BPG maximoa duten 10 herrialde nagusiak. Urte bakoitzeko grafikoak sortzen ditugu.
ggplot2 erabiliz grafikoak sortzea oso erraza da. Goiko kodea atalean ikus dezakezun bezala, theme() funtzioarekin hainbat puntu gako daude. Beharrezkoak dira elementu guztiak arazorik gabe animatzeko. Baliteke horietako batzuk ez bistaratzea beharrezkoa bada. Adibidez: sareta bertikalak eta legendak bakarrik marrazten dira, baina ardatzen izenburuak eta beste hainbat osagai eremutik kentzen dira.
animazioa
Hemen gako-funtzioa transition_states() da, grafiko estatiko bereiziak elkartzen ditu. view_follow() sare-lerroak marrazteko erabiltzen da.
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")
Errendatzea
Animazioa sortu eta anim objektuan gordetzen denean, animate() funtzioa erabiliz errendatzeko garaia da. Animate()-n erabiltzen den errendatzailea desberdina izan daiteke behar den irteera-fitxategi motaren arabera.