Animoidut pylväskaaviot, jotka voidaan upottaa suoraan minkä tahansa verkkosivuston viestiin, ovat tulossa yhä suositummiksi. Ne näyttävät minkä tahansa ominaisuuksien muutosten dynamiikan tietyn ajan kuluessa ja tekevät tämän selvästi. Katsotaanpa, kuinka ne luodaan R- ja geneeristen pakettien avulla.
Nämä kaksi ovat erittäin tarpeellisia. Lisäksi tarvitaan tidyverse, talonmies ja vaaka tietojen hallintaan, taulukon siivoamiseen ja sen mukaiseen muotoiluun.
Tiedot
Alkuperäinen tietojoukko, jota käytämme tässä projektissa, on ladattu Maailmanpankin verkkosivuilta. Täällä he ovat - Maailmanpankin tiedot. Samat tiedot, jos tarvitset niitä valmiina, voidaan ladata osoitteesta projektikansiot.
Millaista tietoa tämä on? Otos sisältää useimpien maiden BKT-arvon useiden vuosien ajalta (2000-2017).
Tietojenkäsittely
Käytämme alla olevaa koodia tarvittavan tietomuodon valmistelemiseen. Tyhjennämme sarakkeiden nimet, muunnamme numerot numeromuotoon ja muunnamme tiedot kerätä()-funktiolla. Tallennamme kaiken vastaanotetun tiedostoon gdp_tidy.csv myöhempää käyttöä varten.
Piirrä täydellinen sarja todellisia histogrammeja käyttämällä ggplot2:ta.
Animoi staattiset histogrammit halutuilla parametreilla käyttämällä gganimatea.
Viimeinen vaihe on tehdä animaatio halutussa muodossa, mukaan lukien GIF tai MP4.
Ladataan kirjastoja
kirjasto (siivous)
kirjasto (gganimate)
Tiedonhallinta
Tässä vaiheessa sinun on suodatettava tiedot saadaksesi kunkin vuoden 10 parasta maata. Lisätään useita sarakkeita, joiden avulla voimme näyttää histogrammin selitteen.
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()
Staattisten histogrammien rakentaminen
Nyt kun meillä on tietopaketti vaaditussa muodossa, alamme piirtää staattisia histogrammeja. Perustiedot - 10 parasta maata, joilla on suurin BKT valitulla aikavälillä. Luomme kaavioita joka vuosi.
Piirien luominen ggplot2:lla on hyvin yksinkertaista. Kuten yllä olevasta koodiosiosta näet, theme()-funktiolla on useita avainkohtia. Ne ovat välttämättömiä, jotta kaikki elementit animoituvat ilman ongelmia. Joitakin niistä ei välttämättä näytetä tarvittaessa. Esimerkki: Vain pystysuorat ruudukon viivat ja selitteet piirretään, mutta akselien otsikot ja useat muut komponentit poistetaan alueelta.
animaatio
Avaintoiminto tässä on transfer_states(), se liittää yhteen erilliset staattiset kaaviot. view_follow()-funktiota käytetään ruudukon viivojen piirtämiseen.
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")
Renderointi
Kun animaatio on luotu ja tallennettu anim-objektiin, on aika renderoida se animaatio()-funktiolla. Animate()-funktiossa käytetty renderöijä voi olla erilainen vaadittavan tulostiedoston tyypin mukaan.