Seaborn untuk Visualisasi Data Python: 10 Plot Analitik Penting
Blog/Tips & Trik/Seaborn untuk Visualisasi Data Python: 10 Plot Analitik Penting

Seaborn untuk Visualisasi Data Python: 10 Plot Analitik Penting

BimaBima
·20 September 2025·11 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

Seaborn adalah library visualisasi Python yang dibangun di atas Matplotlib, khusus buat grafik statistik kayak distribusi, korelasi, dan perbandingan antar kelompok. Kelebihannya, satu baris kode bisa langsung baca kolom DataFrame lewat parameter data, x, y, dan hue tanpa perlu ngolah agregasi manual. Sepuluh plot inti Seaborn (histplot, kdeplot, boxplot, violinplot, barplot, countplot, scatterplot, lineplot, heatmap, dan pairplot) sudah nutup mayoritas kebutuhan analisis data eksploratif.

Seaborn adalah library Python buat bikin grafik statistik dari DataFrame pandas cuma dengan satu baris kode.

Library ini jalan di atas Matplotlib. Yang dia tambahin: kemampuan baca kolom langsung dari DataFrame, agregasi otomatis, dan tema visual yang udah rapi tanpa disetel.

Buat kerjaan analisis eksploratif, ini ngehemat banyak waktu. Grafik boxplot per kategori yang di Matplotlib butuh 8 baris, di Seaborn cukup satu.

Sepuluh plot di bawah ini yang paling sering aku pakai, plus catatan kapan tiap plot itu jujur dan kapan malah nyesatin.

Apa itu Seaborn dan bedanya sama Matplotlib?

Seaborn adalah library visualisasi data Python yang fokus ke grafik statistik: distribusi, korelasi, dan perbandingan antar kelompok. Bedanya dengan Matplotlib, Seaborn ngerti struktur DataFrame. Kamu cukup sebut nama kolom lewat parameter x, y, dan hue, lalu Seaborn yang ngurus pengelompokan dan perhitungannya.

Matplotlib nggak tau apa itu kolom. Kamu harus siapin array angka sendiri.

# Matplotlib: agregasi manual dulu
rata = df.groupby("cabang")["omzet"].mean()
plt.bar(rata.index, rata.values)

# Seaborn: satu baris
sns.barplot(data=df, x="cabang", y="omzet")

Kalau kamu belum kenal dasar Matplotlib, mulai dari tutorial Matplotlib bahasa Indonesia dulu. Semua pengaturan judul dan ukuran gambar di Seaborn tetap pakai perintah Matplotlib.

Gimana cara install dan setup Seaborn?

Install lewat pip. Matplotlib dan pandas ikut terpasang otomatis sebagai dependensi.

pip install seaborn

Lalu impor dengan alias standar dan set tema di awal notebook:

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

sns.set_theme(style="whitegrid")
sns.set_palette(["#0891b2", "#f97316", "#fbbf24"])
print(sns.__version__)

Cek versinya, soalnya beberapa parameter berubah nama di versi 0.12. Yang paling sering bikin error: ci diganti jadi errorbar.

Sebaiknya install di dalam virtual environment terpisah biar versi Seaborn proyekmu nggak ketimpa update dari proyek lain.

Data contoh: penjualan toko_berkah

Semua contoh di bawah pakai dataset latihan ngulikdata berisi transaksi ritel dari empat cabang di Jabodetabek.

df = pd.read_csv("toko_berkah.csv")
print(df.head())

#   tanggal     cabang   kategori   nilai   jumlah_item
# 0 2025-01-02  Depok    Sembako    142500  7
# 1 2025-01-02  Bekasi   Snack       38000  3

Apa saja 10 plot Seaborn yang paling penting?

Sepuluh plot ini kepilih berdasarkan pertanyaan analisis yang paling sering muncul: gimana bentuk sebaran datanya, kelompok mana yang beda, dan variabel mana yang berhubungan.

1. histplot: bentuk sebaran satu variabel

sns.histplot(data=df, x="nilai", bins=40)

Plot pertama yang aku jalankan buat kolom numerik apa pun. Sebaran nilai transaksi ritel hampir selalu miring ke kanan, dan histogram langsung nunjukin itu.

2. kdeplot: sebaran yang halus buat banding kelompok

sns.kdeplot(data=df, x="nilai", hue="cabang", fill=True, alpha=0.3)

Bagus buat numpuk beberapa kelompok dalam satu gambar. Hati-hati kalau datanya sedikit, kurva halus bisa bikin pola palsu kelihatan nyata.

3. boxplot: median dan outlier per kategori

sns.boxplot(data=df, x="cabang", y="nilai")

Titik di luar kumis itu kandidat outlier. Di data ritel, itu sering transaksi grosir yang beneran terjadi, jadi jangan buru-buru dibuang.

4. violinplot: bentuk sebaran penuh

sns.violinplot(data=df, x="cabang", y="nilai", inner="quartile")

Pakai kalau kamu curiga ada dua puncak. Boxplot nggak bisa nunjukin itu, dua sebaran yang beda bentuk bisa punya boxplot identik.

5. barplot: rata-rata per kategori

sns.barplot(data=df, x="kategori", y="nilai", errorbar=None)

Default-nya barplot ngitung rata-rata, bukan total. Kalau kamu mau total omzet, agregasi dulu di pandas.

6. countplot: jumlah baris per kategori

sns.countplot(data=df, x="kategori", hue="cabang")

Ini barplot yang isinya cacah, bukan nilai. Cepat buat cek apakah datamu seimbang antar kelompok.

7. scatterplot: hubungan dua variabel numerik

sns.scatterplot(data=df, x="jumlah_item", y="nilai",
                hue="kategori", alpha=0.6)

Parameter hue bikin kategori jadi warna tanpa perlu loop manual.

8. lineplot: tren waktu dengan interval kepercayaan

sns.lineplot(data=df, x="tanggal", y="nilai", hue="cabang")

Kalau satu tanggal punya banyak baris, Seaborn otomatis ngitung rata-rata dan gambar pita ketidakpastian di sekitar garisnya.

9. heatmap: matriks korelasi

korelasi = df[["nilai", "jumlah_item", "diskon"]].corr()
sns.heatmap(korelasi, annot=True, fmt=".2f", cmap="Blues")

Aktifkan annot=True biar angkanya kelihatan. Heatmap tanpa angka itu cuma dekorasi.

10. pairplot: semua kombinasi sekaligus

sns.pairplot(df[["nilai", "jumlah_item", "diskon", "kategori"]],
             hue="kategori", corner=True)

Paling berat komputasinya. Pakai di awal eksplorasi buat cari pasangan variabel yang menarik, lalu gambar ulang yang menarik itu pakai scatterplot biasa.

Contoh kasus: heatmap yang ngubah rencana diskon

Dari dataset toko_berkah, aku hitung korelasi antara besaran diskon dan nilai transaksi. Hasilnya 0,08. Praktis nol.

Tapi begitu dipecah per kategori pakai parameter hue, ceritanya beda. Di kategori Sembako korelasinya 0,31, sementara di kategori Snack justru negatif tipis di angka minus 0,06.

Artinya diskon di produk sembako ngedorong orang belanja lebih banyak per struk, sedangkan diskon snack nggak ngefek ke nilai belanja. Rata-rata nilai transaksi sembako berdiskon Rp 118.400, dibanding Rp 91.200 tanpa diskon.

Kalau berhenti di angka korelasi gabungan, kesimpulannya bakal "diskon nggak ngaruh" dan program promo sembako kena potong. Satu langkah pecah kelompok nyelametin itu.

Kesalahan umum waktu pakai Seaborn

  • Ngira barplot nampilin total. Default-nya rata-rata. Ini kesalahan paling sering yang bikin angka laporan meleset jauh.
  • Biarin error bar muncul di data agregat. Kalau datamu sudah hasil groupby, error bar itu nggak punya arti. Matikan pakai errorbar=None.
  • Pakai figsize di dalam fungsi Seaborn. Fungsi axes-level kayak boxplot nggak nerima figsize. Bikin figure dulu pakai plt.subplots, lalu kasih ax ke Seaborn.
  • Numpuk 8 kategori di satu hue. Lebih dari 6 warna bikin legenda nggak kebaca. Kelompokkan yang kecil jadi Lainnya.
  • Pakai palet warna acak buat data berurutan. Rating 1 sampai 5 butuh gradasi, bukan warna kategorikal.
  • Nggak cek versi library. Parameter ci diganti errorbar di versi 0.12. Dokumentasi resminya ada di halaman pengantar Seaborn.

Kapan pakai Seaborn, kapan balik ke Matplotlib?

KebutuhanPakaiAlasan
Eksplorasi cepat sebaran dataSeabornSatu baris, agregasi otomatis
Banding kelompok pakai warnaSeabornParameter hue nutup semuanya
Grafik final buat slide direksiMatplotlibKontrol posisi label dan anotasi
Dua sumbu YMatplotlibSeaborn nggak punya twinx sendiri
Panel grid per kategoriSeabornFacetGrid dan relplot lebih ringkas

FAQ

Seaborn bisa dipakai tanpa Matplotlib?

Nggak bisa. Seaborn dibangun di atas Matplotlib dan otomatis menginstalnya. Tiap kali kamu ganti judul, ukuran gambar, atau simpan file, kamu manggil perintah Matplotlib.

Apa bedanya barplot dan countplot?

countplot ngitung jumlah baris per kategori. barplot ngitung rata-rata kolom numerik per kategori dan nambahin error bar. Kalau kamu mau total, agregasi dulu di pandas.

Kenapa error bar muncul padahal aku nggak minta?

Karena barplot default-nya nampilin interval kepercayaan 95 persen dari rata-rata. Matikan pakai errorbar=None di versi 0.12 ke atas, atau ci=None di versi lama.

Kapan pakai violinplot dibanding boxplot?

Pakai violinplot kalau kamu curiga sebarannya punya dua puncak atau nggak simetris. Boxplot cuma nunjukin median dan kuartil, jadi dua sebaran yang bentuknya beda bisa kelihatan identik.

Gimana cara ganti palet warna sesuai brand?

Pakai parameter palette dengan daftar hex sendiri, misalnya palette=["#0891b2", "#f97316"]. Buat data berurutan, pilih gradasi kayak Blues. Set sekali di awal notebook lewat sns.set_palette.

Langkah berikutnya

Tiga hal yang paling berguna dari daftar ini: histplot buat kenalan sama data baru, boxplot buat cari kelompok yang beda, dan heatmap korelasi buat nentuin variabel mana yang layak diselidiki lebih jauh.

Kalau datamu masih di file spreadsheet, mulai dari cara baca file Excel di Python.

Buat yang masih lebih cepat ngolah data di spreadsheet, fungsi kayak AVERAGE dan MEDIAN bisa kamu latih dulu di NgulikSheet sebelum pindah ke Python.

Ambil satu dataset yang kamu punya, jalankan histplot, boxplot, dan heatmap korelasinya sore ini. Tiga plot itu biasanya cukup buat nemu satu pertanyaan yang layak digali.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel terkait

Pandas groupby: Agregasi Data ala Pivot di Python (2026)
Tips & Trik
20 Juli 2026•9 menit baca

Pandas groupby: Agregasi Data ala Pivot di Python (2026)

groupby ngelompokin baris berdasarkan kolom, lalu ngitung ringkasan per grup kayak total atau rata-rata. Ini pivot-nya pandas.

BimaBima
Pandas to_excel: Ekspor DataFrame ke Excel (2026)
Tips & Trik
18 Juli 2026•8 menit baca

Pandas to_excel: Ekspor DataFrame ke Excel (2026)

to_excel nyimpen DataFrame pandas jadi file Excel .xlsx. Ini cara pakainya, dari satu sheet sampai banyak sheet, plus setelan yang bikin hasilnya rapi.

BimaBima
Pandas read_excel: Baca File Excel di Python
Tips & Trik
16 Juli 2026•8 menit baca

Pandas read_excel: Baca File Excel di Python

pandas read_excel baca file Excel jadi DataFrame, bisa pilih sheet tertentu dan lompatin baris judul yang berantakan. Ini cara pakai plus parameter penting dengan contoh data toko.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

© 2026 Ngulik Data. Semua hak dilindungi.

TAUTAN
BantuanHargaDatasetBlogAfiliasi
LEGAL
Syarat & KetentuanKebijakan Privasi
Ngulik Data
DatasetLeaderboardBlogStore