Lewati ke konten utama

Seaborn Barplot: Panduan Lengkap

Pelajari cara membuat dan menyesuaikan barplot Seaborn di Python. Kuasai teknik penting untuk memvisualisasikan relasi data kategorikal, dari plot dasar hingga fitur lanjutan.
· 10 mnt Baca

Jelajahi bersama AI

Visualisasi data mengubah informasi kompleks menjadi wawasan yang jelas dan dapat ditindaklanjuti. Barplot Seaborn unggul dalam menyajikan data kategorikal melalui grafik statistik yang elegan. Pustaka ini menggabungkan fleksibilitas Matplotlib dengan kekuatan pandas, sehingga ideal untuk analisis cepat maupun visualisasi siap-terbit.

Barplot Seaborn menawarkan fitur penting untuk analisis data—dari perbandingan dasar hingga representasi statistik lanjutan. Plot ini menangani tugas umum seperti membandingkan metrik penjualan antarwilayah, menganalisis respons survei, dan memvisualisasikan hasil eksperimen. 

Sintaks yang intuitif dan fungsi statistik bawaan menjadikannya berharga bagi pemula maupun praktisi data berpengalaman.

Dalam artikel ini, kita akan membahas dasar-dasar barplot Seaborn, membuat plot dasar dengan contoh kode, menyempurnakan plot melalui kustomisasi, menerapkan fitur lanjutan, dan menjelajahi penerapan praktisnya.

Untuk mempelajari lebih lanjut tentang visualisasi data dengan Seaborn, lihat Introduction to Data Visualization with Seaborn kami.

Dasar-dasar Seaborn barplot

Sebelum masuk ke barplot, mari tinjau beberapa dasar Seaborn, keunggulannya untuk bar plot, dan cara menyiapkan lingkungan pemrograman.

Apa itu Seaborn?

Seaborn adalah pustaka visualisasi data statistik Python yang dibangun di atas Matplotlib. Pustaka ini mengkhususkan diri dalam membuat grafik statistik yang informatif dan menarik dengan sedikit kode. Seaborn terintegrasi erat dengan pandas DataFrame, menjadikannya sangat efektif untuk alur kerja analisis data.

Pustaka ini menyediakan antarmuka tingkat tinggi untuk menggambar plot menarik sambil menangani banyak detail styling secara otomatis.

Pustaka ini unggul dalam tiga aspek utama:

  • Terintegrasi mulus dengan pandas DataFrame, sehingga manipulasi data menjadi mudah
  • Memiliki fungsi statistik bawaan, menghilangkan kebutuhan perhitungan terpisah
  • Menerapkan tema dan palet warna yang tampak profesional secara default

Sebagai contoh, sementara Matplotlib memerlukan beberapa baris kode untuk membuat visualisasi statistik dasar, Seaborn dapat menyelesaikan tugas yang sama dengan satu pemanggilan fungsi. 

Secara khusus untuk bar plot, Seaborn menambahkan fitur kuat seperti perhitungan rata-rata otomatis, interval kepercayaan, dan penanganan variabel kategorikal tingkat lanjut—kapabilitas yang memerlukan banyak kode tambahan di Matplotlib murni.

Mengapa menggunakan barplot?

Barplot menyajikan data kategorikal melalui batang vertikal atau horizontal, di mana panjangnya merepresentasikan nilai numerik. Ini membuatnya ideal untuk membandingkan nilai di berbagai kelompok atau kategori. Dalam analisis data, bar plot membantu memvisualisasikan hasil survei, pangsa pasar, metrik kinerja, dan distribusi penjualan.

Keunggulan utama meliputi:

  • Perbandingan kuantitas yang jelas antar kategori
  • Fitur statistik bawaan (rata-rata, median, interval kepercayaan)
  • Representasi data berkelompok yang efektif
  • Elemen visual yang sederhana namun informatif
  • Opsi kustomisasi yang mudah untuk presentasi profesional

Penyiapan cepat

Untuk mulai membuat barplot dengan Seaborn, kita perlu menyiapkan lingkungan Python. Berikut cara memulainya:

Pertama, mari kita pasang paket yang diperlukan seperti di bawah ini:

pip install seaborn pandas numpy

Sekarang semua alat visualisasi kita siap digunakan. Mari impor pustaka yang dibutuhkan, seperti di bawah ini:

# For creating statistical visualizations
import seaborn as sns

# For data manipulation and analysis
import pandas as pd

# For numerical operations
import numpy as np

Kita dapat mempercantik plot dengan beberapa pengaturan gaya, sebagai berikut:

# Clean white style
sns.set_style("white")

Gaya white menghapus garis kisi dan akan membuat plot terlihat bagus di sebagian besar layar. Pada bagian berikutnya, kita akan melihat cara membuat barplot dan menyempurnakannya.

Membuat Barplot Seaborn Dasar

Barplot sempurna untuk memvisualisasikan hubungan antara variabel kategorikal dan numerik. Plot ini menampilkan estimasi titik (seperti rata-rata atau median) dan ketidakpastian di sekitarnya melalui error bar. Mari kita lihat sintaks dasar seaborn barplot.

Sintaks dan parameter

Fungsi sns.barplot() di Seaborn menyediakan cara langsung untuk membuat bar plot statistik. Struktur dasar fungsi .barplot() terlihat seperti di bawah ini:

sns.barplot(
    data=None,      # Your DataFrame
    x=None,         # Category variable
    y=None,         # Numeric variable
    estimator='mean',  # Statistical function to estimate
    errorbar=('ci', 95),  # Error bars type and level
    orient=None     # "v" for vertical, "h" for horizontal
)

Parameter-parameter ini memberi kita kendali atas data apa yang ditampilkan dan bagaimana menampilkannya. Parameter data menerima DataFrame Anda, sementara x dan y menentukan kolom mana yang digunakan untuk kategori dan nilai. estimator memungkinkan Anda memilih fungsi statistik yang diterapkan (default rata-rata), dan errorbar mengontrol bagaimana ketidakpastian ditampilkan. Anda juga dapat beralih antara orientasi vertikal dan horizontal menggunakan parameter orient.

Sekarang, mari kita lihat cara membuat barplot yang efektif menggunakan dataset tips bawaan Seaborn, yang berisi informasi tentang tagihan restoran dan tip.

Contoh: Memvisualisasikan dataset sederhana

Kita akan melihat perilaku pemberian tip di berbagai hari dalam seminggu menggunakan dataset tips. Dataset ini berisi informasi tentang tagihan restoran, termasuk hari dalam minggu, jumlah total tagihan, jumlah tip, dan variabel lainnya.

# Import required libraries and load dataset
import seaborn as sns
tips = sns.load_dataset("tips")

# Create a basic barplot showing average tips by day
sns.barplot(data=tips, x="day", y="tip")

Keluaran:

Kode kita membuat visualisasi di atas di mana setiap batang merepresentasikan rata-rata jumlah tip untuk hari yang berbeda dalam seminggu. Tinggi setiap batang menunjukkan nilai tip rata-rata, sementara garis hitam (error bar) menunjukkan interval kepercayaan 95%—memberikan wawasan tentang jumlah tip tipikal dan seberapa besar variasinya.

Kita juga dapat mengamati pola pemberian tip di waktu makan yang berbeda:

# Create a barplot showing average tips by time of day
sns.barplot(data=tips, x="time", y="tip")

Keluaran:

Plot ini memperlihatkan perbedaan perilaku pemberian tip antara layanan makan siang dan makan malam. Tinggi setiap batang merepresentasikan rata-rata jumlah tip untuk waktu tersebut, dengan error bar yang menunjukkan variabilitas perilaku pemberian tip. Visualisasi seperti ini memudahkan untuk melihat pola dan membandingkan kelompok secara sekilas.

Barplot dasar ini menyediakan fondasi untuk visualisasi yang lebih kompleks. Pada bagian berikutnya, kita akan melihat cara menyempurnakan plot ini dengan warna, pengelompokan, dan kustomisasi lainnya untuk membuat visualisasi yang lebih informatif dan menarik.

Menyempurnakan Barplot dengan Kustomisasi

Menambahkan peningkatan visual pada barplot dapat membantu membuat data lebih menarik dan mudah dipahami. Mari kita lihat berbagai cara untuk menyesuaikan barplot menggunakan dataset tips.

Menambahkan warna ke barplot

Seaborn menawarkan beberapa cara untuk menambahkan warna pada barplot, sehingga lebih menarik dan informatif. Kita dapat menggunakan satu warna untuk semua batang atau membuat grup berkode warna,

Parameter color menetapkan satu warna untuk semua batang, sementara palette memungkinkan Anda menentukan skema warna saat data memiliki beberapa grup. Seaborn dilengkapi dengan banyak palet warna bawaan yang cocok untuk berbagai jenis data.

Kita dapat membuat barplot sederhana dengan satu warna menggunakan parameter color seperti berikut:

# Load the tips dataset if you haven't already
import seaborn as sns
tips = sns.load_dataset("tips")

# Single color barplot
sns.barplot(data=tips, x="day", y="tip", color="skyblue")

Keluaran:

Kita dapat membuat barplot dengan banyak warna menggunakan parameter palette seperti berikut:

# Load the tips dataset if you haven't already
import seaborn as sns
tips = sns.load_dataset("tips")

# Using a different color palette
sns.barplot(data=tips, x="day", y="tip", palette="Set2")

Keluaran:

Seaborn barplot dengan banyak kolom

Salah satu fitur terkuat dari barplot Seaborn adalah kemampuan untuk menampilkan hubungan antar beberapa variabel menggunakan parameter hue. Ini membuat batang berkelompok sehingga perbandingan menjadi lebih mudah.

Mari bandingkan tip berdasarkan hari dan waktu makan menggunakan parameter hue seperti berikut:

# Load the tips dataset if you haven't already
import seaborn as sns
tips = sns.load_dataset("tips")

# Create a grouped barplot showing tips by day and time
sns.barplot(
    data=tips,
    x="day",
    y="tip",
    hue="time"
)

Keluaran:

Plot di atas menampilkan dua batang—satu untuk makan siang dan satu untuk makan malam. Pengelompokan ini membantu kita melihat tidak hanya bagaimana tip bervariasi menurut hari, tetapi juga bagaimana perbedaannya antara waktu makan.

Membuat seaborn stacked barplot

Stacked barplot sangat baik untuk menunjukkan komposisi kategori yang berbeda. Meskipun Seaborn tidak memiliki fungsi stacked barplot secara langsung, kita dapat menggabungkannya dengan matplotlib untuk membuat visualisasi bertumpuk yang efektif. 

Pendekatan ini memanfaatkan fungsionalitas statistik Seaborn sambil menggunakan kemampuan penumpukan matplotlib. Sebagai contoh, pada dataset tips, mari lihat bagaimana tip didistribusikan antara perokok dan bukan perokok di berbagai hari.

Mari mulai dengan mengimpor pustaka yang diperlukan untuk visualisasi:

# Import required libraries
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

Sekarang kita akan memuat dataset yang berisi informasi tip restoran:

# Load the tips dataset
tips = sns.load_dataset("tips")

Kita akan membuat figur dengan dimensi yang sesuai untuk visualisasi:

# Create figure and axis
plt.figure(figsize=(10, 4))

Selanjutnya, kita akan menghitung rata-rata tip untuk perokok dan bukan perokok di berbagai hari:

# Calculate values for stacking
# Filter smokers, group by day and get mean tips
smoker_means = tips[tips['smoker']=='Yes'].groupby('day')['tip'].mean()
 
# Filter non-smokers, group by day and get mean tips     
non_smoker_means = tips[tips['smoker']=='No'].groupby('day')['tip'].mean()

Berikutnya, kita akan menyiapkan parameter dasar untuk batang bertumpuk seperti di bawah ini:

# Plot the stacked bars using matplotlib
days = smoker_means.index
width = 0.8

Sekarang, kita akan membuat lapisan bawah untuk batang bertumpuk bagi bukan perokok:

# Create bottom bars (non-smokers)
plt.bar(days, non_smoker_means, width, label='Non-smoker', color=sns.color_palette()[0])

Kita akan menambahkan lapisan atas untuk tip perokok:

# Create top bars (smokers)
plt.bar(days, smoker_means, width, bottom=non_smoker_means, 
        label='Smoker', color=sns.color_palette()[1])

Mari atur gaya bersih tanpa garis kisi menggunakan styling seaborn:

# Add Seaborn styling
sns.set_style("white")

Terakhir, kita akan menampilkan stacked barplot yang sudah selesai:

# Show the plot
plt.show()

Keluaran:

Plot yang dihasilkan menunjukkan rata-rata tip dari perokok ditumpuk di atas tip bukan perokok untuk setiap hari, sehingga mudah membandingkan total tip dan kontribusi dari masing-masing grup.

Solusi alternatif ini memungkinkan kita untuk:

  • Mempertahankan gaya visual Seaborn yang menarik
  • Menumpuk batang untuk menunjukkan komposisi
  • Menjaga sifat statistik visualisasi
  • Menggunakan palet warna Seaborn untuk konsistensi

Fitur Lanjutan dan Tips

Setelah membahas dasar dan kustomisasi, mari lihat beberapa fitur lanjutan yang dapat membuat barplot lebih informatif dan profesional. Kita akan tetap menggunakan dataset tips untuk mendemonstrasikan teknik lanjutan ini.

Memberi anotasi pada barplot

Menambahkan label nilai pada batang dapat membuat visualisasi lebih presisi dan informatif. Mari buat barplot yang menampilkan nilai tip tepat di atas setiap batang.

Pertama, mari impor pustaka dan siapkan data:

# Import required libraries
import seaborn as sns
import matplotlib.pyplot as plt

# Load and prepare the tips dataset
tips = sns.load_dataset("tips")

Buat barplot dengan nilai statistik:

# Create the basic barplot
ax = sns.barplot(data=tips, x="day", y="tip”, errorbar=None)    # Create barplot and store the axes object for annotations

Selanjutnya, kita akan menambahkan label nilai di bagian atas setiap batang, seperti berikut:

# Get the height of each bar
bars = ax.containers[0]                           # Get the bar container object
heights = [bar.get_height() for bar in bars]      # Extract height of each bar

# Add text annotations on top of each bar
for bar, height in zip(bars, heights):            # Loop through bars and heights together
    ax.text(
        bar.get_x() + bar.get_width()/2.,        # X position (center of bar)
        height,                                   # Y position (top of bar)
        f'${height:.2f}',                        # Text (format as currency)
        ha='center',                             # Horizontal alignment
        va='bottom'                              # Vertical alignment
    )

Keluaran:

Mengelola sumbu dan skala

Saat membuat barplot, penyesuaian sumbu membantu membuat data lebih mudah dibaca dan berdampak. Mari lihat cara menyesuaikan batas sumbu, label, dan tick menggunakan fungsi Seaborn.

Pertama, kita akan mengimpor pustaka dan memuat dataset yang dibutuhkan untuk visualisasi:

# Import required libraries
import seaborn as sns

# Load and prepare the tips dataset
tips = sns.load_dataset("tips")

Kita dapat membuat barplot dengan label kustom dan urutan hari. Parameter order memungkinkan kita menentukan secara tepat bagaimana hari-hari ditata pada sumbu x:

# Create barplot with axis labels
ax = sns.barplot(
    data=tips,
    x="day",
    y="tip",
    order=['Thur', 'Sat', ‘Fri', 'Sun']     # Set custom order for days
)

Agar plot lebih informatif, kita dapat menambahkan label deskriptif untuk kedua sumbu menggunakan metode set:

# Set descriptive axis labels
ax.set(
    xlabel='Day of Week',
    ylabel='Average Tip ($)'
)

Untuk menyetel visualisasi lebih lanjut, kita dapat menetapkan batas dan tanda tick tertentu. Parameter ylim mengontrol rentang sumbu y, sementara xticks dan yticks memungkinkan kita menentukan secara persis di mana tanda tick akan muncul:

# Customize axis limits and ticks
ax.set(
    ylim=(0, 5),                            # Set y-axis range from 0 to 5
    xticks=range(4),                        # Set x-axis tick positions
    yticks=[0, 1, 2, 3, 4, 5]              # Set specific y-axis tick values
)

Untuk menerapkan semua perubahan ini pada grafik, kita perlu menjalankannya sekaligus dan bukan satu per satu. Seluruh kode ditunjukkan di bawah:

# Import required libraries
import seaborn as sns

# Load and prepare the tips dataset
tips = sns.load_dataset("tips")

# Create barplot with axis labels
ax = sns.barplot(
   data=tips,
   x="day",
   y="tip",
   order=['Thur', 'Sat', 'Fri', 'Sun']     # Set custom order for days
)

# Set descriptive axis labels
ax.set(
   xlabel='Day of Week',
   ylabel='Average Tip ($)'
)

# Customize axis limits and ticks
ax.set(
   ylim=(0, 5),                            # Set y-axis range from 0 to 5
   xticks=range(4),                        # Set x-axis tick positions
   yticks=[0, 1, 2, 3, 4, 5]              # Set specific y-axis tick values
)

Keluaran:

Plot yang dihasilkan menampilkan tip per hari dengan label yang jelas, skala yang sesuai, dan tanda tick yang tertata baik, sehingga mudah dibaca dan ditafsirkan.

Menyertakan error bar

Error bar membantu memvisualisasikan ketidakpastian atau variabilitas dalam data Anda. Seaborn menawarkan beberapa opsi untuk menambahkan error bar pada barplot, termasuk interval kepercayaan dan simpangan baku.

Pertama, kita akan mengimpor pustaka dan memuat dataset yang diperlukan untuk visualisasi:

# Import required libraries
import seaborn as sns

# Load and prepare the tips dataset
tips = sns.load_dataset("tips")

Secara default, Seaborn menampilkan interval kepercayaan 95%. Kita dapat memodifikasi ini menggunakan parameter 'errorbar' untuk menampilkan tipe estimasi statistik yang berbeda:

# Create barplot with confidence intervals
ax = sns.barplot(
    data=tips,
    x="day",
    y="tip",
    errorbar="ci",                          # Show confidence interval
    capsize=0.1                            # Add small caps to error bars
)

Keluaran:

Kita juga dapat menampilkan simpangan baku alih-alih interval kepercayaan, yang membantu memvisualisasikan sebaran data:

# Switch to standard deviation
ax = sns.barplot(
    data=tips,
    x="day",
    y="tip",
    errorbar="sd",                          # Show standard deviation
    capsize=0.1                            # Add small caps to error bars
)

Keluaran:

Terkadang, kita mungkin ingin menghapus error bar sepenuhnya untuk tampilan yang lebih bersih:

# Create barplot without error bars
ax = sns.barplot(
    data=tips,
    x="day",
    y="tip",
    errorbar=None                           # Remove error bars
)

Keluaran:

Plot yang dihasilkan menunjukkan bagaimana berbagai tipe error bar dapat membantu kita memahami variabilitas data tip di berbagai hari dalam seminggu.

Penerapan Praktis Seaborn Barplot

Barplot adalah alat serbaguna dalam visualisasi data, sangat berguna saat Anda perlu membandingkan nilai antar kategori atau menganalisis beberapa variabel sekaligus. Mari lihat dua penerapan umum di mana barplot Seaborn unggul.

Memvisualisasikan tren data kategorikal

Barplot Seaborn unggul dalam mengungkap pola pada data kategorikal, khususnya saat menganalisis metrik di berbagai kelompok. Dengan menampilkan kecenderungan pusat dan ketidakpastian, barplot membantu mengidentifikasi perbedaan signifikan antar kategori. 

Ini menjadikannya ideal untuk menganalisis perilaku pelanggan, kinerja produk, atau respons survei ketika Anda perlu membandingkan nilai di kelompok yang berbeda.

Membandingkan beberapa variabel

Ketika analisis melibatkan banyak faktor, barplot Seaborn dapat menyoroti hubungan kompleks dalam data. Menggunakan fitur seperti pengelompokan (hue) atau penumpukan membantu membandingkan variabel yang berbeda secara bersamaan, sehingga lebih mudah melihat pola dan interaksi antar aspek data.

Kesimpulan 

Barplot Seaborn menyeimbangkan kesederhanaan dan wawasan statistik secara tepat. Sintaks yang intuitif dipadukan dengan fitur statistik yang kuat menjadikannya alat esensial untuk visualisasi data. Dari perbandingan kategori dasar hingga visualisasi berkelompok tingkat lanjut, barplot membantu mengungkap dan mengomunikasikan pola data secara efektif.

Siap meningkatkan keterampilan visualisasi data Anda? Berikut yang dapat dijelajahi selanjutnya:

Ingin meningkatkan keterampilan Seaborn Anda ke tingkat berikutnya? Daftar di Intermediate Data Visualization with Seaborn course.

Seaborn Barplot FAQs

Untuk apa Seaborn barplot digunakan?

Seaborn barplot memvisualisasikan hubungan antara variabel kategorikal dan variabel numerik dengan menampilkan estimasi statistik beserta error bar.

Apakah saya bisa mengubah warna barplot Seaborn?

Ya, Anda dapat menyesuaikan warna menggunakan parameter color untuk satu warna atau palette untuk beberapa skema warna.

Bisakah saya membuat grouped barplot di Seaborn?

Ya, gunakan parameter hue untuk membuat batang berkelompok berdasarkan variabel kategorikal.

Bagaimana cara menambahkan error bar ke Seaborn barplot saya?

Gunakan parameter errorbar, misalnya errorbar='ci' untuk interval kepercayaan atau errorbar='sd' untuk simpangan baku.

Bisakah Seaborn membuat bar plot horizontal?

Ya, tetapkan orient='h' pada fungsi barplot untuk membuat batang horizontal alih-alih vertikal.

Penulis

Rajesh Kumar

Saya adalah penulis konten data science. Saya senang membuat konten seputar topik AI/ML/DS. Saya juga mengeksplorasi alat AI baru dan menuliskannya.

Topik

Terkait

blogs

Spaghetti Plot dan Jalur Badai

blogs

Tutorial Korelasi di R

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026