Seaborn merupakan salah satu library atau pustaka yang efektif dalam melakukan visualisasi data. Sebagaimana diketahui visualisasi data merupakan bagian penting dalam analisis data. Visualisasi membantu kita dalam mengidentifikasi pola, tren, dan insight, sehingga data yang kompleks menjadi lebih mudah untuk difahami.
Seaborn, sebuah library Python yang dibangun di atas Matplotlib, menjadi salah satu pilihan populer bagi para data analis dan data scientist untuk membuat visualisasi data yang menarik dan informatif.
Objek dan fungsi Seaborn yang yang intuitif dan fleksibel memungkinkan pengguna untuk memvisualisasikan data dengan lebih mudah. Hal ini sangat memudahkan dalam menjelajahi dan memahami data, serta menyampaikan insight dari data kepada audiens yang lebih luas.
Seaborn sangat sesuai untuk membuat visualisasi kompleks dengan kode yang minimal. Seaborn terintegrasi dengan Pandas DataFrames dan array, menjadikannya pilihan ideal untuk memvisualisasikan kumpulan data dengan tingkat kompleksitas yang tinggi.
Kelebihan Seaborn
- Kemudahan Penggunaan: Seaborn menyederhanakan proses pembuatan visualisasi yang kompleks. Hanya dengan beberapa baris kode, pengguna dapat menghasilkan plot berkualitas tinggi.
- Pilihan Tema dan Palet Warna: Seaborn hadir dengan beberapa tema dan palet warna bawaan yang meningkatkan daya tarik estetika visualisasi.
- Integrasi dengan Pandas: Seaborn terintegrasi secara mulus dengan Pandas DataFrames, memungkinkan manipulasi dan visualisasi kumpulan data yang kompleks dengan mudah.
- FacetGrid: Fitur FacetGrid memungkinkan pembuatan multi-plot yang kompleks, sehingga memudahkan untuk membandingkan beberapa variabel dan relasi dalam kumpulan data.
Visualisasi Data Menggunakan Seaborn
Seaborn menyediakan kumpulan objek dan fungsi yang memudahkan dalam analisis data secara visual.
Dengan menggunakan Seaborn, pengguna diharapkan dapat lebih berfokus pada informasi apa yang ditampilkan oleh grafik, bukan pada bagaimana cara menampilkan grafik tersebut.
Seaborn biasanya diimport dengan menggunakan alias sns
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
Meskipun seaborn menggunakan data struktur pandas secara default, Seaborn dapat menggunakan struktur data lain yang umum, misalnya numpy array ataupun python list.
Pilihan Styling dalam Seaborn
Seaborn menyediakan fungsi-fungsi untuk mengatur aspek 'keindahan' chart atau theme dengan mudah. Untuk menggunakan Seaborn theme, gunakan fungsi sns.set_style()
Seaborn menyediakan beberapa theme, yaitu : darkgrid, whitegrid, dark, white, dan ticks.
Untuk mempelajari lebih lanjut mengenai aspek estetik seaborn, bisa dilihat di sini https://seaborn.pydata.org/tutorial/aesthetics.html
Kemudahan Penggunaan Seaborn
Untuk jenis-jenis analisis dan visualisasi yang sudah terdefinisi dengan baik, seaborn menyediakan fungsi-fungsi yang praktis. Hal ini sangat memudahkan, terutama untuk visualisasi yang melibatkan relatif banyak variabel dan kategori.
Salah satu contohnya adalah, untuk menampilkan relasi atau hubungan antar variabel, kita dapat menggunakan scatter plot. Untuk menampilkan hubungan lebih dari 2 variabel, kita dapat menggunakan warna yang berbeda.
Misalnya dari dataset tips, kita ingin menampilkan hubungan antara total bill dan tips, antara smoker dan non smoker, maka bisa kita tampilkan scatterplot dengan sumbu x = total bill, dan y = tips, dan variabel smoker diwakili dengan 2 warna berbeda.
Jika kita ingin menambahkan satu variabel lagi, yaitu time, maka kita dapat menampilkan beberapa scatterplot dalam subplot berbeda, sesuai kardinalitas time. Dalam hal ini kita perlu 2 subplot : time=Dinner dan time=Lunch.
#data yang digunakan
tips = sns.load_dataset("tips")
Dalam matplotlib, kita perlu membuat beberapa scatterplot berbeda dengan warna berbeda, sesuai jumlah kategorinya. Ketika kita menambahkan variabel ke 4, kita perlu beberapa subplot, dan di setiap subplot kita perlu membuat sejumlah scatterplot dengan warna berbeda.
# select data
t11 = tips[(tips['time']=='Lunch') & (tips['smoker']=='Yes')][['total_bill','tip']]
t12 = tips[(tips['time']=='Lunch') & (tips['smoker']=='No')][['total_bill','tip']]
t21 = tips[(tips['time']=='Dinner') & (tips['smoker']=='Yes')][['total_bill','tip']]
t22 = tips[(tips['time']=='Dinner') & (tips['smoker']=='No')][['total_bill','tip']]
figs, axs = plt.subplots(1,2,figsize=(12,5))
#Scatter plot di subplot 1, time = Lunch
axs[0].scatter(data=t11, x='total_bill', y='tip', label='Yes') #smoker=Yes
axs[0].scatter(data=t12, x='total_bill', y='tip', label='No') #smoker=No
#Scatter plot di subplot 2, time = Dinner
axs[1].scatter(data=t21, x='total_bill', y='tip', label='Yes') #smoker=Yes
axs[1].scatter(data=t22, x='total_bill', y='tip', label='No') #smoker=No
#Setting label dan judul
axs[0].set_xlabel('total_bill')
axs[1].set_xlabel('total_bill')
axs[0].set_ylabel('tips')
axs[0].set_title('time = Lunch')
axs[1].set_title('time = Dinner')
#tampilkan legend
axs[0].legend()
axs[1].legend()
axs[0].get_legend().set_title("Smoker")
axs[1].get_legend().set_title("Smoker")
Dalam Seaborn, semua itu dibungkus dalam sebuah fungsi relplot. Kita hanya perlu menentukan parameter x, y, hue, dan col dengan variabel-variabel yang sesuai.
sns.relplot(
data=tips,
x="total_bill", y="tip", hue="smoker", col="time",
)
Kustomisasi Seaborn menggunakan Matplotlib
Fungsi plotting pada seaborn mengembalikan object matplotlib.axes.Axes, sehingga kita dapat melakukan customisasi melalui object tersebut.
x = list(range(0, 12))
y = np.random.rand(12)
sns.set_style("darkgrid")
ax = sns.scatterplot(x=x,y=y)
ax.set_xlabel("x axis", color="blue")
ax.set_ylabel("y axis", color="blue")
ax.set_title("Chart Title")
plt.show()
Selain melalui object, kita dapat juga menggunakan antarmuka fungsional matplotlib.pyplot alias plt
x = list(range(0, 12))
y = np.random.rand(12)
sns.set_style("darkgrid")
ax = sns.scatterplot(x=x,y=y)
plt.xlabel("x axis", color="blue")
plt.ylabel("y axis", color="blue")
plt.title("Chart Title")
plt.show()
Wrapping Up
Seaborn adalah library Python yang untuk visualisasi data. Seaborn menyederhanakan pembuatan grafik yang kompleks. Kemudahan, tampilan yang menarik, dan integrasi dengan Pandas, menjadikannya pilihan populer untuk analisis, eksplorasi, dan presentasi data, baik bagi pemula maupun analis data yang berpengalaman.