Plotting Graph Menggunakan Seaborn di Python
Plotting Graph Menggunakan Seaborn di Python
Dalam dunia data science dan analisis data, visualisasi bukan sekadar pelengkap, tapi alat utama untuk memahami data. Angka mentah sering kali sulit dicerna, sementara grafik bisa langsung “bicara” soal pola, tren, dan kejanggalan. Di sinilah Seaborn mengambil peran penting.
Seaborn adalah library visualisasi data di Python yang dibangun di atas Matplotlib, tetapi dengan pendekatan yang lebih modern dan ramah analis. Jika Matplotlib itu ibarat mesin manual yang sangat fleksibel tapi ribet, maka Seaborn adalah versi otomatisnya: lebih rapi, lebih estetik, dan lebih cepat dipakai untuk eksplorasi data.
Keunggulan utama Seaborn adalah kemampuannya bekerja langsung dengan Pandas DataFrame. Kamu tidak perlu lagi memetakan data secara manual satu per satu. Cukup sebutkan kolom, dan Seaborn akan mengatur label, sumbu, serta gaya visual secara otomatis. Inilah alasan kenapa Seaborn sering jadi pilihan utama untuk Exploratory Data Analysis (EDA).
Table of Contents
Kenapa Banyak Data Analyst Memilih Seaborn?
Seaborn dirancang untuk membuat visualisasi statistik dengan usaha seminimal mungkin. Ia menyediakan banyak dataset bawaan seperti iris, tips, dan flights, sehingga sangat cocok untuk latihan atau demo cepat. Selain itu, Seaborn unggul dalam memvisualisasikan data kategorikal, sesuatu yang cukup merepotkan jika dilakukan manual di Matplotlib.
Fitur lain yang membuat Seaborn disukai adalah sistem tema dan palet warna yang konsisten. Tanpa menulis banyak kode, grafik sudah terlihat bersih dan profesional. Ini penting terutama saat grafik digunakan untuk presentasi, laporan, atau publikasi.
Baca Juga
Jenis-Jenis Plot Populer di Seaborn
Seaborn menyediakan banyak jenis plot, tapi dalam tutorial ini kita fokus pada grafik yang paling sering dipakai untuk analisis data sehari-hari, terutama yang berhubungan dengan data kategorikal dan distribusi numerik.
1. Strip Plot: Menampilkan Data Apa Adanya
Strip plot adalah scatter plot sederhana untuk data kategorikal. Setiap titik merepresentasikan satu data. Plot ini cocok ketika kamu ingin melihat distribusi mentah tanpa agregasi.
Strip plot sangat membantu untuk mendeteksi pola kasar, sebaran nilai, atau kemungkinan outlier. Namun, pada data yang padat, titik-titik bisa saling menumpuk sehingga kurang jelas.
import matplotlib.pyplot as plt
import seaborn as sns
x = ['sun', 'mon', 'fri', 'sat', 'tue', 'wed', 'thu']
y = [5, 6.7, 4, 6, 2, 4.9, 1.8]
ax = sns.stripplot(x=x, y=y)
ax.set(xlabel='Days', ylabel='Amount Spent')
plt.title('Daily Spending (Custom Data)')
plt.show() Grafik ini cocok untuk dataset kecil atau ketika kamu ingin melihat nilai individual, bukan ringkasan statistiknya.
2. Swarm Plot: Strip Plot yang Lebih Rapi
Swarm plot adalah versi lebih pintar dari strip plot. Seaborn secara otomatis mengatur posisi titik agar tidak saling menimpa. Hasilnya, semua data tetap terlihat jelas.
Plot ini sangat ideal untuk dataset kecil hingga menengah, terutama saat membandingkan beberapa kategori secara visual.
sns.set(style="whitegrid")
iris = sns.load_dataset("iris")
sns.swarmplot(x="species", y="sepal_length", data=iris)
plt.title("Swarm Plot of Sepal Length by Species")
plt.show() Kelemahan swarm plot adalah performanya. Untuk dataset besar, grafik bisa menjadi berat dan tampilan jadi terlalu padat.
3. Bar Plot: Rata-Rata dalam Sekejap
Bar plot adalah salah satu grafik paling populer. Di Seaborn, bar plot secara default menampilkan nilai rata-rata (mean) dari suatu kategori, lengkap dengan interval kepercayaan.
Ini sangat berguna untuk membandingkan performa atau nilai rata-rata antar kelompok.
tips = sns.load_dataset("tips")
sns.barplot(x="sex", y="total_bill", data=tips, palette="plasma")
plt.title("Average Total Bill by Gender")
plt.show() Perlu diingat, bar plot tidak menampilkan distribusi data mentah. Dua kategori bisa punya rata-rata sama, tapi distribusinya sangat berbeda. Karena itu, bar plot sering dikombinasikan dengan box plot atau violin plot.
4. Count Plot: Menghitung Tanpa Ribet
Jika bar plot fokus pada nilai numerik, maka count plot fokus pada frekuensi kategori. Ia menghitung berapa kali sebuah kategori muncul dalam dataset.
Count plot sering digunakan untuk mengecek ketidakseimbangan kelas, misalnya pada dataset machine learning.
tips = sns.load_dataset("tips")
sns.countplot(x="sex", data=tips)
plt.title("Count of Gender in Dataset")
plt.show() Plot ini sangat sederhana, tapi informatif. Tanpa perlu perhitungan manual, kamu langsung tahu komposisi data.
5. Box Plot: Ringkas Tapi Kaya Informasi
Box plot merangkum data menggunakan median, kuartil, dan outlier. Ini adalah alat favorit untuk melihat sebaran dan variasi data dalam satu grafik.
Box plot sangat cocok untuk dataset besar karena tidak perlu menampilkan semua titik.
tips = sns.load_dataset("tips")
sns.boxplot(x="day", y="total_bill", data=tips, hue="smoker")
plt.title("Total Bill Distribution by Day & Smoking Status")
plt.show() Dengan box plot, kamu bisa langsung melihat hari mana yang punya variasi pengeluaran paling besar, serta apakah status perokok memengaruhi total tagihan.
6. Violin Plot: Box Plot yang Lebih Detail
Violin plot adalah gabungan antara box plot dan density plot. Selain ringkasan statistik, violin plot juga menunjukkan bentuk distribusi data.
Plot ini sangat berguna untuk mendeteksi distribusi multimodal (lebih dari satu puncak).
tips = sns.load_dataset("tips")
sns.violinplot(x="day", y="total_bill", data=tips, hue="sex", split=True)
plt.title("Violin Plot of Total Bill by Day and Gender")
plt.show() Meski informatif, violin plot bisa membingungkan bagi pemula. Gunakan plot ini jika audiensmu sudah cukup familiar dengan statistik dasar.
7. Strip Plot dengan Hue: Dimensi Tambahan
Dengan menambahkan parameter hue, strip plot bisa menampilkan subkategori di dalam kategori utama. Ini membantu melihat interaksi antar variabel.
tips = sns.load_dataset("tips")
sns.stripplot(
x="day",
y="total_bill",
data=tips,
jitter=True,
hue="smoker",
dodge=True
)
plt.title("Total Bill Distribution with Smoking Status")
plt.show() Plot ini cocok untuk eksplorasi data multivariat, meskipun masalah overlap masih bisa muncul jika data terlalu padat.
Tips Praktis Mengoptimalkan Visualisasi Seaborn agar Lebih Informatif
Selain memahami jenis-jenis plot di Seaborn, hal penting lain yang sering luput adalah bagaimana mengoptimalkan visualisasi agar grafik benar-benar “berbicara”. Seaborn menyediakan banyak pengaturan sederhana yang berdampak besar, seperti pemilihan theme, palette warna, dan context. Misalnya, penggunaan sns.set_theme(style="darkgrid") bisa langsung meningkatkan keterbacaan grafik untuk presentasi data. Penyesuaian ukuran figure (plt.figure(figsize=(...))) juga penting agar label tidak saling bertabrakan. Selain itu, jangan ragu menambahkan judul yang deskriptif, label sumbu yang jelas, dan anotasi sederhana untuk menekankan insight utama. Dalam analisis data, grafik bukan sekadar hiasan, melainkan alat komunikasi. Visual yang rapi, konsisten, dan relevan akan memudahkan pembaca memahami pola, perbandingan, dan anomali data tanpa harus membaca penjelasan panjang.
Kesimpulan: Seaborn Itu Bukan Sekadar Cantik
Seaborn bukan hanya soal grafik yang enak dilihat. Ia adalah alat analisis yang kuat untuk memahami data dengan cepat dan efektif. Dengan sedikit kode, kamu bisa mendapatkan insight yang biasanya butuh perhitungan panjang.
Kunci menggunakan Seaborn dengan baik adalah memilih jenis plot yang tepat sesuai tujuan analisis. Jangan asal pakai bar plot untuk semua hal. Kadang data butuh box plot, kadang butuh violin plot, kadang cukup count plot sederhana.
Kalau kamu sudah terbiasa membaca grafik Seaborn, kamu tidak cuma “bisa bikin grafik”, tapi sudah naik level menjadi analis yang mengerti cerita di balik data.
- Pengertian dan Kegunaan Bahasa Pemrograman Python
- Phyton 1 : Tutorial Pengenalan Dasar
- Phyton 2 : Macam Penulisan Sintaks
- Phyton 3 : Konsep Variabel dan Data
- Phyton 4 - Cara Mengambil Input dan Output
- Phyton 5 : Jenis-jenis Operator
- Phyton 6 - Percabangan
- Phyton 7 - Perulangan
- Phyton 8 - Struktur Data List
- 4 Variasi Fungsi Print () Pada Phyton
- Tutorial Python: Struktur Data Dictionary
- Phyton 9 - Struktur Data Tuple
- Phyton 9 : Struktur Data Tuple Part 2
- 5 Variasi Coding Python dengan Fungsi Concatenate, Yuk, Coba
- PyScript: Masa Depan Python di Browser ?
- 7 Hal Dasar yang Harus Diketahui Tentang Dictionary pada Python
- Memahami Fungsi dan Prosedur pada Python
- 6 Proyek Coding Python untuk Meningkatkan Portofolio Anda
- Tutorial Python: Membaca dan Menulis File dengan Lebih Mendalam
- Cara Baca Dan Parse File CSV di Python
- 7 Teknik Membuat Dictionary di Python dengan Data dari Berbagai Sumber
- 5 Kesalahan Umum dalam Menggunakan Dictionary di Python dan Cara Menghindarinya
- Belajar Python: Proses Data JSON dari File dan API Web
- Belajar Python: Buat Fungsi Dengan Lambda Expression
- Apa Maksud dari *args dan kwargs pada Python?
- Tutorial Membuat 3 Jenis Kalkulator Dengan Python
- Panduan Lengkap: Cara Menghapus Item di List Python Tanpa Drama
- Cara Bangun Dashboard di Jupyter Pakai Solara
- 6 Perintah pip yang Harus Diketahui Setiap Developer Python
- Panduan Lengkap Menggunakan pip: Manajer Paket Python yang Wajib Dikuasai
- Rekomendasi 6 Framework Terbaik untuk Python: Dari Santai Sampai Superhero!
- Benar Nggak Sih Python Ramah untuk Programmer Pemula?
- Optimasi Performa Perbandingan Dokumen di Python: Ketika CPU Lo Kerja Rodi!
- Mengupas Tuntas Cara Mengiterasi Dictionary di Python: Panduan Lengkap yang Gak Bikin Pusing!
- 5 Proyek AI Seru yang Bisa Lo Bangun Weekend Ini dengan Python
- Rust vs Python: Duel Sengit Bahasa Pemrograman! Mana yang Cocok Buat Lo?
- 6 Trik Python Terbaru 2025 yang Wajib Dicoba Programmer
- Tutorial Lengkap Membuat News Aggregator Menggunakan Python
- Stop Nulis Function Python Kayak Gini, Bro!
- 7 Python Decorators yang Bikin Kode Lo Makin Canggih
- Trik Python debugging yang wajib lo coba.
- Membangun List di Python: Filosofi, Teknik, dan Tips Anti-Kudet
- DERET FAKTORIAL: SI "BAHAN VIRAL" MATEMATIKA YANG BIKIN KODE LO NAIK LEVEL!
- Project Python Seru: Bikin Script Otomatisasi Pengorganisir File (Biar Folder Download Nggak Kayak Gudang)
- Automating Email Sending Via Phyton – Biar Jempol Lo Pensiun Dini
- Project 2: Automating Web Scraping for Data Collection dengan Python
- Automatisasi Tugas GUI dengan PyAutoGUI
- Cara Lama vs Cara Kekinian: Belajar dataclass Python
- Automatisasi Laporan PDF dengan Python
- Membongkar Rahasia field() di Python: Kendali Penuh atas Dataclass
- Praktik Lanjutan Menulis Kode Python yang Bersih dan Ramah Pemula
- Python Function Annotations: Fitur Keren yang Sering Diremehkan, Padahal Bikin Kamu Terlihat Programmer Cerdas
- Python Keyword Arguments: Panduan Bad Boy Buat Programmer Biar Nggak Salah Urus Function
- Belajar Fungsi Tanpa Parameter Python dari Nol: Panduan Lengkap Buat Pemula Sampai Nyantol di Kepala
- Tutorial Coding: Keluar dari Plateau of False Competence di Python
- Plotting Graph Menggunakan Seaborn di Python
- Mutable vs Immutable Objects di Python: Konsep Dasar yang Sering Diremehkan
- Python time.sleep() – Cara Mudah Memberi Jeda pada Program Kamu
- Mengapa Saya Berhenti Menggunakan Class di Python (Dan Apa yang Saya Gunakan Sebagai Gantinya)
- Different Delay Time of Python sleep() – Mengatur Jeda Sesuai Kebutuhan Program
- Mengenal Python math Module: Panduan Lengkap untuk Operasi Matematika di Python
Last updated on June 03, 2026