Bagan bar animasi anu tiasa diselapkeun langsung kana tulisan dina situs wéb mana waé janten beuki populer. Aranjeunna ningalikeun dinamika parobahan dina ciri naon waé dina waktos anu tangtu sareng ngalakukeun ieu sacara jelas. Hayu urang tingali kumaha nyiptakeunana nganggo R sareng pakét generik.
Dua ieu kacida diperlukeun. Salaku tambahan, tidyverse, janitor sareng timbangan bakal diperyogikeun pikeun ngatur data, ngabersihan susunan sareng pormat anu sasuai.
data
Dataset asli anu bakal kami anggo dina proyék ieu diunduh tina situs wéb Bank Dunia. Di dieu aranjeunna - Data WorldBank. Data anu sami, upami anjeun peryogi siap-siap, tiasa diunduh tina polder proyék.
Jenis informasi ieu? Sampel ngandung nilai GDP kalolobaan nagara pikeun sababaraha taun (ti 2000 nepi ka 2017).
Ngolah data
Kami bakal nganggo kode anu dipasang di handap pikeun nyiapkeun format data anu diperyogikeun. Urang ngabersihan ngaran kolom, ngarobah angka kana format angka, sarta ngarobah data ngagunakeun ngumpulkeun () fungsi. Urang nyimpen sagalana nu narima di gdp_tidy.csv pikeun pamakéan salajengna.
Plotting set lengkep histograms sabenerna maké ggplot2.
Hirupkeun histogram statik sareng parameter anu dipikahoyong nganggo gganimate.
Léngkah ahir nyaéta ngadamel animasi dina format anu dipikahoyong, kalebet GIF atanapi MP4.
Ngamuat perpustakaan
perpustakaan (rapi)
perpustakaan (ganimate)
Manajemén data
Dina léngkah ieu, anjeun kedah nyaring data pikeun kéngingkeun 10 nagara anu paling luhur unggal taun. Hayu urang tambahkeun sababaraha kolom anu ngamungkinkeun urang pikeun nampilkeun legenda pikeun histogram.
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()
Ngawangun histogram statik
Ayeuna urang gaduh pakét data dina format anu diperyogikeun, urang ngawitan ngagambar histogram statik. Inpormasi dasar - 10 nagara paling luhur kalayan GDP maksimal pikeun interval waktos anu dipilih. Urang nyieun grafik pikeun tiap taun.
Nyiptakeun plot nganggo ggplot2 saderhana pisan. Sakumaha anjeun tiasa tingali dina bagian kode di luhur, aya sababaraha titik konci kalayan fungsi téma (). Éta dipikabutuh pikeun sakabéh elemen ngahirupkeun tanpa masalah. Sababaraha di antarana bisa jadi teu dipintonkeun lamun perlu. Conto: Ngan garis grid nangtung sareng legenda anu digambar, tapi judul sumbu sareng sababaraha komponén sanésna dipiceun tina daérah éta.
animasi
Fungsi konci didieu nyaeta transition_states (), eta jahitan babarengan grafik statik misah. view_follow () dipaké pikeun ngagambar garis grid.
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
Sakali animasi dijieun tur disimpen dina obyék anim, éta waktu pikeun ngajadikeun eta ngagunakeun animasi () fungsi. The renderer dipaké dina ngahirupkeun () bisa jadi béda gumantung kana jenis file kaluaran diperlukeun.