Membuat Animasi Grafik Garis dengan R |
Sebagaimana yang telah saya katakan sebelumnya, bahwa bahasan dalam blog ini akan semakin kompleks dan komprehensif. Kalau kemarin kita hanya belajar bagaimana dasar-dasar visualisasi data yang sifatnya masih statis, sekarang kita coba berkembang ke bagaimana membuat visualisasi data yang sifatnya dinamis atau biasa diistilahkan animasi.
Belakang animasi data ini lebih diminati lantaran visualnya lebih menarik dan mengalihkan pandangan masyarakat atau secara spesifik pengguna data. Kali ini kita akan coba mempraktikan bagaimana cara mengcustome grafik garis (line chart) dengan menggunakan bantuan package yang bernama gganimate. Package ini baru saja saya kenal tahun lalu dan telah saya pelajari bagaimana tatacara menyusunnya. Dari pengalaman saya, package ini dapat berfungsi dengan baik bila kita menggunakan dan menginstallnya di R lokal, sedangkan ketika package ini digunakan dalam R Studio cloud misalnya itu justru tidak berfungsi dengan baik karena mungkin untuk merender setiap visual data yang ditugaskan oleh package gganimate ini butuh memori lokal atau sebuah ruang penyimpanan lokal.
Baik, sebelum kita mempraktikannya, sebagaimana adat istiadat dalam blog ini, kita perlu mengunduh data praktiknya terlebih dahulu. Data yang akan kita gunakan kali ini adalah data historis pendaftaran Sekolah Tinggi Kedinasan yang diselenggarakan oleh Badan Kepegawaian Negara (BKN) tahun 2021, Sekolah Tinggi Kedinasan ini terdiri atas beberapa perguruan tinggi yang berstatus Ikatan Dinas, di antaranya Polstat STIS, PKN STAN, STMKG, STIN, IPDN, dan lainnya. Untuk datanya silakan unduh di sini. Setelah datanya telah diunduh, kita praktikkan dengan menggunakan code sederahan berikut:
Code:
#Import data Kedin
library(readxl)
Kedin <- read_excel("E:/R/Kedin.xlsx")
#Melihat Struktur data Kedinasan
str(Kedin)
names(Kedin)
Hasil:
tibble [140 x 5] (S3: tbl_df/tbl/data.frame)
$ Tgl : POSIXct[1:140], format: "2021-04-12" "2021-04-13" "2021-04-14" ...
$ Kedinasan: chr [1:140] "Polstat STIS" "Polstat STIS" "Polstat STIS" "Polstat STIS" ...
$ Pendaftar: num [1:140] 1162 1577 2104 2708 3871 ...
$ Kuota : num [1:140] 600 600 600 600 600 600 600 600 600 600 ...
$ Size : num [1:140] 2400 2400 2400 2400 2400 2400 2400 2400 2400 2400 ...
[1] "Tgl" "Kedinasan" "Pendaftar" "Kuota" "Size"
Code:
#Mengubah Tgl menjadi Date, Kedinasan menjadi character, dan Pendaftar menjadi numeric
Kedin$Tgl <- as.Date(Kedin$Tgl)
Kedin$Kedinasan <- as.character(Kedin$Kedinasan)
Kedin$Pendaftar <- as.numeric(Kedin$Pendaftar)
#Install dan aktifkan package gganimate
install.packages("gganimate")
library(gganimate)
#Plot data Kedin dengan pipeline
p <- Kedin %>%
ggplot(mapping = aes(x = Tgl, y = Pendaftar, grup = Kedinasan, color = Kedinasan)) +
geom_line() +
geom_point(stroke = 1, size = 3) +
labs(x = "Tanggal Pendaftaran", y = "Jumlah Pendaftar") +
geom_text(aes(label = Kedinasan), hjust = 0) +
transition_reveal(Kedin$Tgl) +
coord_cartesian() +
theme(legend.position = "bottom")+
theme_minimal()
Hasil:
Visualisasi animasi grafik garis dengan R |
Oke, kita telah mempraktikan bagaimana cara membuat grafik garis animasi dengan R. Jangan lupa share, komentar di kolom yang tersedia jika ada pertanyaan atau kurang jelas, dan yang pasti jangan lupa ikuti terus unggahan blog ini. Terima kasih.