Lewati ke konten utama

Tutorial Grafik dengan ggplot2

Visualisasi data adalah keterampilan penting bagi data scientist. Ini menggabungkan statistika dan desain dengan cara yang bermakna dan tepat.
Diperbarui 28 Sep 2026  · 6 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Visualisasi data adalah keterampilan penting bagi data scientist. Ini menggabungkan statistika dan desain dengan cara yang bermakna dan tepat. Di satu sisi, visualisasi data adalah bentuk analisis data grafis yang menekankan representasi yang akurat serta interpretasi data. Di sisi lain, visualisasi data bergantung pada pilihan desain yang baik untuk membuat plot menarik dan membantu pemahaman serta komunikasi hasil. Di atas semua itu, ada unsur kreativitas, karena pada dasarnya visualisasi data adalah bentuk komunikasi visual.

diagram venn visualisasi data

Penting untuk memahami perbedaan antara visualisasi eksploratif dan eksplanatori. Visualisasi eksploratif mudah dibuat, kaya data, dan ditujukan untuk audiens spesialis kecil, seperti Anda dan rekan kerja—tujuan utamanya adalah analisis data secara grafis. Visualisasi eksplanatori memerlukan banyak usaha, spesifik terhadap data, dan ditujukan untuk audiens yang lebih luas, misalnya dalam publikasi atau presentasi—ini adalah bagian dari proses komunikasi. Sebagai data scientist, penting bagi Anda untuk dapat dengan cepat mengeksplorasi data, tetapi Anda juga akan diminta menjelaskan hasil kepada para pemangku kepentingan. Desain yang baik dimulai dengan memikirkan audiens—dan terkadang itu berarti diri kita sendiri.

diagram visualisasi data scientist

Scatter Plot

Di bawah ini, kita memiliki dataset yang berisi rata-rata bobot otak dan tubuh dari 62 mamalia.

 MASS::mammals
                              body   brain
Arctic fox                   3.385   44.50
Owl monkey                   0.480   15.50
Mountain beaver              1.350    8.10
Cow                        465.000  423.00
Grey wolf                   36.330  119.50
Goat                        27.660  115.00
Roe deer                    14.830   98.20
...
Pig                        192.000  180.00
Echidna                      3.000   25.00
Brazilian tapir            160.000  169.00
Tenrec                       0.900    2.60
Phalanger                    1.620   11.40
Tree shrew                   0.104    2.50
Red fox                      4.235   50.40 

Untuk memahami hubungan di sini, langkah pertama yang paling jelas adalah membuat scatter plot, seperti yang ditunjukkan di bawah:

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point()
scatter plot

Dua mamalia, Gajah Afrika dan Gajah Asia, memiliki bobot otak dan tubuh yang sangat besar, sehingga menyebabkan skew positif pada kedua sumbu.

Model Linear

Sekarang, jika kita menerapkan model linear, itu akan menjadi pilihan yang kurang tepat karena beberapa nilai ekstrem memiliki pengaruh besar.

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point(alpha = 0.6) +
  stat_smooth(
    method = "lm",
    color = "red",
    se = FALSE
  )
model linear pada scatter plot

Menerapkan transformasi log pada kedua variabel memungkinkan kecocokan yang lebih baik.

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point(alpha = 0.6) +
  coord_fixed() +
  scale_x_log10() +
  scale_y_log10() +
  stat_smooth(
    method = "lm",
    color = "#C42126",
    se = FALSE,
    size = 1
  )
transformasi log pada scatter plot linear

Jadi, meskipun kita memulai dengan plot eksploratif yang kasar, plot tersebut memberi informasi tentang data kita dan mengarah pada hasil yang bermakna.

Plot Anscombe

Saat kita membayangkan model linear, seperti yang ditampilkan pada plot anonim ini, kita membayangkan bahwa kita sedang menggambarkan data yang tampak seperti ini.

model linear pada plot anonim

Namun model yang sama bisa saja menggambarkan sekumpulan data yang sangat berbeda, seperti hubungan parabola, yang memerlukan model berbeda.

plot hubungan parabola

Atau data di mana suatu nilai ekstrem memiliki efek besar, yang menjadi jelas ketika pencilan tersebut dihapus.

pencilan dihapus pada plot linear

Dan terkadang, model mungkin menggambarkan suatu hubungan padahal sebenarnya tidak ada sama sekali karena beberapa nilai ekstrem bisa jadi tidak benar.

nilai ekstrem yang salah pada plot linear

Jika kita hanya mengandalkan keluaran numerik tanpa memplot data, kita akan melewatkan tren mendasar yang berbeda dan menarik.

tren pada plot linear

Kita dapat melihat bahwa visualisasi data berakar pada statistika dan analisis data grafis, tetapi ini juga merupakan proses kreatif yang melibatkan sejumlah coba-coba.

Contoh Interaktif

Pada contoh berikut, pertama Anda akan memuat paket ggplot2 menggunakan library(). Lalu, Anda akan menggunakan str() untuk mengeksplorasi struktur dataset mtcars.

Terakhir, Anda akan memvisualisasikan ggplot dan mencoba memahami apa yang dilakukan ggplot terhadap data.

Anda akan menggunakan dataset mtcars yang berisi informasi tentang 32 mobil dari edisi majalah Motor Trend tahun 1973. Dataset ini kecil, intuitif, dan berisi beragam variabel kontinu dan kategorikal.

# Load the ggplot2 package
library(ggplot2)

# Explore the mtcars data frame with str()
str(mtcars)

# Execute the following command
p <- ggplot(mtcars, aes(cyl, mpg)) +
  geom_point()

Saat kita menjalankan kode di atas, hasilnya sebagai berikut:

data.frame':    32 obs. of  11 variables:
 $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
 $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
 $ disp: num  160 160 108 258 360 ...
 $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
 $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
 $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
 $ qsec: num  16.5 17 18.6 19.4 17 ...
 $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
 $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
 $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
 $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
gg plot

Untuk mempelajari lebih lanjut tentang visualisasi data dengan ggplot, silakan lihat video dari kursus kami Introduction to Data Visualization with ggplot2. Juga, simpan Lembar Contekan ggplot2 kami sebagai referensi praktis. 

Konten ini diambil dari kursus DataCamp Introduction to Data Visualization with ggplot2 oleh Rick Scavetta.

Topik
R
Data Science

Kursus Terkait

Kursus

Visualisasi Data Tingkat Menengah dengan ggplot2

4 jam
57.5K
Pelajari cara menggunakan facet, sistem koordinat, dan statistik dalam ggplot2 untuk membuat grafik penjelasan yang bermakna.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya