Bar charts animati li jistgħu jiġu inkorporati direttament f'post fuq kwalunkwe websajt qed isiru dejjem aktar popolari. Huma juru d-dinamika tal-bidliet fi kwalunkwe karatteristika fuq ċertu żmien u jagħmlu dan b'mod ċar. Ejja naraw kif toħloqhom billi tuża pakketti R u ġeneriċi.
Infakkrukom:għall-qarrejja kollha ta '"Habr" - skont ta' 10 rublu meta tirreġistra fi kwalunkwe kors ta 'Skillbox billi tuża l-kodiċi promozzjonali "Habr".
Dawn it-tnejn huma estremament meħtieġa. Barra minn hekk, tidyverse, janitor u skali se jkunu meħtieġa biex jimmaniġġjaw id-dejta, inaddfu l-firxa u jifformattjaw kif xieraq.
Data
Is-sett tad-dejta oriġinali li se nużaw f'dan il-proġett huwa mniżżel mill-websajt tal-Bank Dinji. Hawn huma - Data tal-Bank Dinji. L-istess data, jekk għandek bżonnha lesta, tista' titniżżel minn folders tal-proġett.
X'tip ta' informazzjoni hija din? Il-kampjun fih il-valur tal-PGD tal-biċċa l-kbira tal-pajjiżi għal diversi snin (mill-2000 sal-2017).
Ipproċessar tad-dejta
Aħna se nużaw il-kodiċi mibgħut hawn taħt biex nippreparaw il-format tad-dejta meħtieġ. Aħna naddfu l-ismijiet tal-kolonni, inbiddlu n-numri f'format ta 'numri, u nikkonverti d-data billi tuża l-funzjoni gather(). Aħna niffrankaw dak kollu li jiġi riċevut f'gdp_tidy.csv għal aktar użu.
Tpinġi ta' sett komplut ta' istogrammi attwali bl-użu ta' ggplot2.
Anima l-istogrammi statiċi b'parametri mixtieqa bl-użu ta' gganimate.
Il-pass finali huwa li tirrendi l-animazzjoni fil-format mixtieq, inklużi GIF jew MP4.
Tagħbija tal-libreriji
librerija (tidyverse)
librerija (gganimate)
Ġestjoni tad-dejta
F'dan il-pass, għandek bżonn tiffiltra d-dejta biex tikseb l-aqwa 10 pajjiżi għal kull sena. Ejja nżidu diversi kolonni li jippermettulna nuru leġġenda għall-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()
Bini ta' istogrammi statiċi
Issa li għandna pakkett tad-dejta fil-format meħtieġ, nibdew niġbdu istogrammi statiċi. Informazzjoni bażika - l-aqwa 10 pajjiżi b'PDG massimu għall-intervall ta 'żmien magħżul. Aħna noħolqu graffs għal kull sena.
Il-ħolqien ta' plottijiet bl-użu ta' ggplot2 huwa sempliċi ħafna. Kif tistgħu taraw fit-taqsima tal-kodiċi ta 'hawn fuq, hemm diversi punti ewlenin bil-funzjoni theme(). Huma meħtieġa sabiex l-elementi kollha janimaw mingħajr problemi. Xi wħud minnhom jistgħu ma jintwerewx jekk meħtieġ. Eżempju: Il-linji tal-grilja vertikali u l-leġġendi biss huma mfassla, iżda t-titoli tal-assi u diversi komponenti oħra jitneħħew miż-żona.
Animazzjoni
Il-funzjoni ewlenija hawnhekk hija transition_states(), hija tgħaqqad flimkien graffs statiċi separati. view_follow() tintuża biex tiġbed linji tal-grilja.
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")
Rendiment
Ladarba l-animazzjoni tinħoloq u tinħażen fl-oġġett anim, wasal iż-żmien li tirrendiha bl-użu tal-funzjoni animate(). Ir-renderer użat f'animate() jista 'jkun differenti skont it-tip ta' fajl tal-output meħtieġ.