Nexşeyên barkêş ên anîmasyon ên ku dikarin rasterast di nav postek li ser her malperê de bêne bicîh kirin her ku diçe populer dibin. Ew dînamîkên guheztinê di her taybetmendiyekê de di demek diyar de nîşan didin û vê yekê zelal dikin. Ka em bibînin ka meriv wan çawa bi karanîna pakêtên R û gelemperî biafirîne.
Em bînin bîra xwe:ji bo hemî xwendevanên "Habr" - dema ku hûn beşdarî qursek Skillbox-ê bi karanîna koda danasînê ya "Habr" têne qeyd kirin 10 rubleyan dakêşin.
Ev her du pir pêwîst in. Digel vê yekê, ji bo birêvebirina daneyan, paqijkirina rêzê û li gorî wê formata paqijkirinê, parêzger û terazûyan hewce dike.
Daneyên
Daneya eslî ya ku em ê di vê projeyê de bikar bînin ji malpera Banka Cîhanê tê daxistin. Li vir ew in - Daneyên Banka Cîhanê. Heman daneyan, ger hewcedariya we ya amade hebe, dikare jê were daxistin peldankên projeyê.
Ev çi zaniyarî ye? Nimûne nirxa GDP ya piraniya welatan ji bo çend salan (ji 2000 heta 2017) digire.
Danûstendina daneyê
Em ê koda ku li jêr hatî şandin bikar bînin da ku forma daneya pêwîst amade bikin. Em navên stûnan paqij dikin, jimareyan vediguherînin formek hejmarê, û bi karanîna fonksiyona berhev () daneyan vediguherînin. Em her tiştê ku di gdp_tidy.csv de tê wergirtin ji bo karanîna bêtir hilînin.
Bi karanîna ggplot2 re komek bêkêmasî ya histogramên rastîn çêdikin.
Hîstogramên statîk bi parametreyên xwestî bi karanîna gganimate zindî bikin.
Pêngava paşîn ev e ku hûn anîmasyonê di forma xwestinê de, tevî GIF an MP4, pêşkêş bikin.
Barkirina pirtûkxaneyan
pirtûkxane (tidyverse)
pirtûkxane (gganimate)
Rêveberiya daneyan
Di vê gavê de, hûn hewce ne ku daneyan fîlter bikin da ku ji bo her sal 10 welatên pêşîn bistînin. Ka em çend stûnan lê zêde bikin ku dê rê bidin me ku efsaneyek ji bo histogramê nîşan bidin.
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()
Avakirina histogramên statîk
Naha ku di forma pêdivî de pakêtek daneyê heye, em dest bi kişandina histogramên statîk dikin. Agahdariya bingehîn - 10 welatên top bi GDP-ya herî zêde ji bo navberê dema hilbijartî. Em ji bo her sal grafikan çêbikin.
Afirandina nexşeyan bi karanîna ggplot2 pir hêsan e. Wekî ku hûn di beşa kodê ya li jor de dibînin, bi fonksiyona tema() re gelek xalên sereke hene. Ew hewce ne ku hemî hêman bêyî pirsgirêk zindî bibin. Ger hewce be hin ji wan nayên xuyang kirin. Mînak: Tenê xêz û efsaneyên tevna vertîkal têne kişandin, lê sernavên eksê û çend pêkhateyên din ji deverê têne rakirin.
animation
Fonksiyona sereke li vir transition_states e (), ew grafikên statîk ên cihêreng li hev dicivîne. view_follow() ji bo xêzkirina xetên torê tê bikar anîn.
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
Dema ku anîmasyon di hêmana animê de hate afirandin û hilanîn, wextê wê ye ku ew bi karanîna fonksiyona animate() were pêşkêş kirin. Pêşkêşkera ku di animate() de tê bikar anîn, li gorî celebê pelê derketinê ya ku hewce dike dikare cûda be.