Diagram batang animasi yang dapat disematkan langsung ke dalam postingan di situs web mana pun menjadi semakin populer. Mereka menampilkan dinamika perubahan karakteristik apa pun selama waktu tertentu dan melakukannya dengan jelas. Mari kita lihat cara membuatnya menggunakan R dan paket generik.
Kedua hal ini sangat diperlukan. Selain itu, rapiverse, petugas kebersihan, dan timbangan akan diperlukan untuk mengelola data, membersihkan array, dan memformatnya sesuai kebutuhan.
Data
Dataset asli yang akan kami gunakan dalam proyek ini diunduh dari situs Bank Dunia. Di sini mereka - Data Bank Dunia. Data yang sama, jika Anda memerlukannya yang sudah jadi, dapat diunduh dari folder proyek.
Informasi macam apa ini? Sampel berisi nilai PDB sebagian besar negara selama beberapa tahun (dari tahun 2000 hingga 2017).
Pengolahan data
Kami akan menggunakan kode yang diposting di bawah ini untuk menyiapkan format data yang diperlukan. Kami menghapus nama kolom, mengubah angka menjadi format angka, dan mengonversi data menggunakan fungsi kumpulkan(). Kami menyimpan semua yang diterima di gdp_tidy.csv untuk digunakan lebih lanjut.
Merencanakan satu set lengkap histogram aktual menggunakan ggplot2.
Animasikan histogram statis dengan parameter yang diinginkan menggunakan gganimate.
Langkah terakhir adalah merender animasi dalam format yang diinginkan, termasuk GIF atau MP4.
Memuat perpustakaan
perpustakaan (rapiverse)
perpustakaan (ganim)
Manajemen data
Pada langkah ini, Anda perlu memfilter data untuk mendapatkan 10 negara teratas setiap tahunnya. Mari tambahkan beberapa kolom yang memungkinkan kita menampilkan legenda 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()
Membangun histogram statis
Sekarang kita memiliki paket data dalam format yang diperlukan, kita mulai menggambar histogram statis. Informasi dasar - 10 negara teratas dengan PDB maksimum untuk interval waktu yang dipilih. Kami membuat grafik untuk setiap tahun.
Membuat plot menggunakan ggplot2 sangat sederhana. Seperti yang Anda lihat pada bagian kode di atas, ada beberapa poin penting dengan fungsi theme(). Mereka diperlukan agar semua elemen dapat bernyawa tanpa masalah. Beberapa di antaranya mungkin tidak ditampilkan jika perlu. Contoh: Hanya garis grid vertikal dan legenda yang digambar, namun judul sumbu dan beberapa komponen lainnya dihapus dari area tersebut.
Animasi
Fungsi kuncinya di sini adalah transisi_states(), yang menyatukan grafik statis yang terpisah. view_follow() digunakan untuk menggambar 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")
Merender
Setelah animasi dibuat dan disimpan di objek anim, sekarang saatnya merendernya menggunakan fungsi animate(). Penyaji yang digunakan dalam animate() bisa berbeda-beda bergantung pada jenis file keluaran yang diperlukan.