library(ggplot2)
# Membuat histogram menggunakan ggplot2
ggplot(mtcars, aes(x = mpg)) +
geom_histogram(binwidth = 2, fill = "blue", color = "black") +
labs(title = "Distribusi MPG (ggplot2)",
x = "MPG",
y = "Frekuensi") +
theme_minimal()Pernah nggak sih kamu merasa data itu ribet dan bikin ngantuk? 🤯 Deretan angka dan tabel yang bikin kepala pusing. Tapi bayangkan kalau data bisa tampil lebih hidup, lebih menarik, bahkan interaktif! Nah, di sinilah ggplot2 dan Plotly beraksi sebagai duo andalan dalam dunia visualisasi data. 🎨📊 Mau tahu mana yang lebih cocok untuk kebutuhanmu? Yuk, simak perbandingannya! 🚀️
Dalam dunia analisis data, visualisasi merupakan elemen penting untuk menyajikan data secara intuitif dan informatif. Dua library populer dalam ekosistem R untuk keperluan ini adalah ggplot2 dan Plotly. Masing-masing memiliki keunggulan dan keterbatasan tergantung pada kebutuhan pengguna.
Blog ini akan membahas perbandingan fitur, keunggulan, dan contoh implementasi dari kedua library ini dengan Quarto
1 Histogram
Histogram digunakan untuk menampilkan distribusi data numerik. Berikut adalah cara membuat histogram menggunakan ggplot2 dan Plotly.
2 Scatter Plot
Scatter plot digunakan untuk menunjukkan hubungan antara dua variabel numerik. Perbedaan antara ggplot2 dan Plotly dapat terlihat pada contoh berikut.
# Membuat scatter plot dengan ggplot2
ggplot(mtcars, aes(x = hp, y = mpg, color = factor(cyl))) +
geom_point(size = 3) +
labs(title = "Hubungan Horsepower dan MPG (ggplot2)",
x = "Horsepower",
y = "MPG") +
theme_minimal()3 Line Chart
Line chart digunakan untuk memvisualisasikan data deret waktu. Berikut adalah cara membuatnya dengan ggplot2 dan Plotly.
# Membuat line chart dengan ggplot2
ggplot(economics, aes(x = date, y = unemploy)) +
geom_line(color = "red", size = 1) +
labs(title = "Jumlah Pengangguran di AS (ggplot2)",
x = "Tahun",
y = "Jumlah Pengangguran") +
theme_minimal()4 Pie Chart
Pie chart digunakan untuk menampilkan distribusi kategori dalam bentuk proporsi.
library(dplyr)
# Menghitung proporsi jumlah silinder
data_pie <- mtcars %>%
count(cyl) %>%
mutate(prop = n / sum(n) * 100)
# Membuat pie chart menggunakan ggplot2 dengan pendekatan bar plot
ggplot(data_pie, aes(x = "", y = prop, fill = factor(cyl))) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
labs(title = "Proporsi Jumlah Silinder Mobil (ggplot2)",
fill = "Silinder") +
theme_void()5 Interactive Chart
Plotly menawarkan fitur interaktivitas, sedangkan ggplot2 hanya menghasilkan grafik statis. Berikut adalah perbandingannya.
# Membuat line chart statis dengan ggplot2
ggplot(economics, aes(x = date, y = unemploy)) +
geom_line(color = "blue", size = 1) +
labs(title = "Tren Pengangguran di AS (ggplot2)",
x = "Tahun",
y = "Jumlah Pengangguran") +
theme_minimal()6 Perbandingan Fitur ggplot2 vs Plotly
| Fitur | ggplot2 | Plotly |
|---|---|---|
| Interaktivitas | ❌ Tidak interaktif | ✅ Interaktif (zoom, hover, panning) |
| Kemudahan Penggunaan | ✅ Lebih terstruktur dengan Grammar of Graphics | 🔶 Sedikit lebih kompleks karena berbasis list JSON-like |
| Kustomisasi | ✅ Sangat fleksibel dengan banyak theme dan ekstensi | 🔶 Fleksibel tetapi tidak sebanyak ggplot2 |
| Kecepatan Render | ✅ Cepat untuk dataset besar | ❌ Bisa lebih lambat untuk dataset besar karena interaktivitas |
| Ekosistem & Kompatibilitas | ✅ Kuat dalam ekosistem tidyverse | ✅ Bisa diekspor ke web dan dashboard (Shiny, Dash) |





