Pada artikel Kali ini kita akan Berkenalan Dengan Seaborn Python, yaitu salah satu library pada Python untuk visualisasi data. Libary ini sangat berguna ketika Anda bekerja untuk memahami suatu data yang sederhana maupun kompleks. Oleh karena itu, tunggu apalagi. Mari kita membahas mengenai Seaborn. Show
Seaborn adalah library untuk membuat grafik dan statistik dengan menggunakan Python. Library ini di bangun berdasarkan library matplotlib serta terintegrasi dengan struktur data pada panda. Berikut adalah beberapa fungsi yang dapat di lakukan oleh seaborn:
Seaborn bertujuan agar visualisasi menjadi bagian penting dari proses eksplorasi dan pemahaman data. Seaborn berorientasi pada fungsi plotting berdasarkan dataset yang beroperasi pada import matplotlib.pyplot as plt plt.show()6 dan array yang berisi seluruh dataset yang secara internal melakukan pemetaan semantik dan agregasi statistik yang diperlukan untuk menghasilkan grafik informatif. Instalasi SeabornInstalasi Seaboard dapat dilakukan dengan dua cara yaitu: Atau jika Anda menggunakan Anaconda distribution DependenciesAda beberapa dependencies yang perlu diperhatikan sebelum menjalankan seaborn pada komputer/laptop Anda. Diantaranya: optional: Memulai SeabornSetelah Anda selesai menginstall Seaborn, maka saat nya untuk berkenalan dengan seaborn Python. Seaborn memiliki contoh dataset yang dapat Anda coba. Untuk memulainya silahkan eksekusi perintah ini. (Anda dapat menggunakan Jupyter notebook atau Python IDE lainnya, pada artikel ini, pada artikel ini adalah menggunakan Jupyter Notebook karena kelebihannya dapat di eksekusi pada cell dan menampilkan hasilnya pada cell dibawahnya). import seaborn as sns df = sns.load_dataset("penguins") sns.pairplot(df, hue="species") Jika Anda menggunakan Jupyter Notebook, pastikan menyalakan matplotlib mode untuk dapat langsung melihat hasilnya. Namun, jika tidak Anda harus memanggil fungsi import matplotlib.pyplot as plt plt.show()7 di bawah nya. Perintah nya adalah: import matplotlib.pyplot as plt plt.show() Overview Fungsi Plot Pada SeabornSemakin sering Anda berinteraksi dan berkenalan dengan seaborn Python, maka Anda akan melihat serangkaian fungsi plot. Pada artikel selanjutnya kita akan mengeksplorasi fitur spesifik yang dapat dilakukan oleh masing-masing fungsi. Artikel ini hanya akan memperkenalkan kepada Anda mengenai berbagai jenis fungsi yang akan Anda hadapi dalam menggunakan Seaborn. Fungsi Sama Untuk Tugas SerupaPenamaan pada Seaborn adalah flat; seluruh fungsionalitas dapat di akses di dengan sederhana. Sebenarnya, kode pada Seaborn itu sendiri terstruktur secara hierarki, dengan fungsi modul untuk mencapai tujuan visualisasi serupa dengan cara yang berbeda. Pada sebagian besar dokumentasi mengenai seaborn yang telah di susun oleh para maintenernya. Maka, Anda akan menemukan nama-nama seperti "relasional", "distribusi", dan "kategorikal". Sebagai contoh, untuk mendefinisikan fungsi-fungsi yang memiliki spesialisasi dalam merepresentasikan distribusi data. Termasuk metode yang sudah kita kenal kenal dengan baik seperti histogram: penguins = sns.load_dataset("penguins") sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack") Berkenalan Dengan Seaborn Python - Modul Distribusi Bersamaan dengan opsi yang sama, namun mungkin kita kurang familiar, seperti pada contoh kernel density estimation : Berkenalan Dengan Seaborn Python - KDE Plot Fungsi yang berada di dalam modul memiliki banyak kode yang mendasari dan menawarkan fitur serupa yang mungkin tidak ada pada komponen lain dari library (seperti import matplotlib.pyplot as plt plt.show()8 pada contoh di atas). Library ini dirancang untuk memfasilitasi peralihan di antara representasi visual yang berbeda saat Anda menelusuri kumpulan data, karena representasi yang berbeda sering kali memiliki kekuatan dan kelemahan yang saling melengkapi. Fungsi Figure-Level vs Axes-LevelSelain dengan modul yang berbeda, ada yang dinamakan cross-cutting classification dari fungsi Seaborn sebagai "axes-level" atau "figure-level". Contoh di atas adalah fungsi "axes-level". Fungsi ini untuk membuat plot data ke dalam satu object import matplotlib.pyplot as plt plt.show()9, yang merupakan nilai dari fungsi tersebut. Sebaliknya, "figure-level" berinterface dengan matplotlib melalui objek seaborn, biasanya adala penguins = sns.load_dataset("penguins") sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")0, yang mengelola suatu gambar. Setiap modul memiliki fungsi "figure-level" tunggal, yang menawarkan satu antarmuka ke dalam berbagai fungsi "axes-level". Sebagai contoh, penguins = sns.load_dataset("penguins") sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")1 adalah fungsi "figure-level" untuk modul distribusi. Secara default adalah untuk menggambar suatu histogram, menggunakan kode yang sama seperti pada histplot(): sns.displot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack") Berkenalan Dengan Seaborn Python - Displot Untuk membuat penguins = sns.load_dataset("penguins") sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")2, Anda dapat menggunakan kode yang sama seperti pada penguins = sns.load_dataset("penguins") sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")3, lalu pilih menggunakan parameter kind parameter penguins = sns.load_dataset("penguins") sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")4: sns.displot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack", kind="kde") Berkenalan Dengan Seaborn Python - Displot KDE Anda akan melihat bahwa plot figure-level sebagian besar terlihat seperti pada axes-level, namun ada beberapa perbedaan. Terutama pada penempatan posisi legenda yang berada di luar plot. Selain itu, mereka pun memiliki bentuk yang sedikit berbeda Fitur yang paling berguna pada fungsi figure-level adalah kemudahannya dalam mebuat gambar dengan banyak sub-plot.. Misalnya, dibanding menumpukkan tiga plot distribusi untuk setiap spesies penguin dalam satu sumbu yang sama, kita dapat memisahkannya dengan memplot setiap distribusi pada seluruh kolom gambar, seperti pada contoh di bawah ini: sns.displot(data=penguins, x="flipper_length_mm", hue="species", col="species") Berkenalan Dengan Seaborn Python - Multiple Subplot Fungsi figure-level membungkus axes-level, lalu meneruskan argumen kata kunci yang spesifik (seperti ukuran bin pada histogram) kepada fungsi yang mendasarinya. Ini berarti mereka cukup fleksibel, namun ada sisi negatifnya, yaitu: parameter khusus ini tidak muncul pada docstrings. Beberapa fitur mungkin sulit untuk dapat ditemukan, Anda mungkin perlu melihat d dokumentasi yang lengkap sebelum memahami bagaimana cara untuk mencapai tujuan tertentu dalam penggunaannya. Fungsi axes-level membuat plot self-containedFungsi axes-level memiliki kemampuan untuk bertindak sebagai pengganti drop-in pada fungsi yang terdapat pada matplotlib. Fungsi ini dapat menambahkan label pada sumbu dan legenda secara otomatis tanpa mengubah apa pun di luar sumbu tempat mereka ditarik. Ini berarti fungsi tersebut dapat disusun menjadi angka kompleks pada matplotlib dengan hasil yang dapat di prediksi. Fungsi axes-level memanggil secara internal pada penguins = sns.load_dataset("penguins") sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")5, yang menghubungkan ke interface "state-machine" pada matplotlib. Sehingga, plot akan di gambar pada sumbu "currently-active". Selain itu, mereka pun menerima penguins = sns.load_dataset("penguins") sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")6 argumen, yang terintegrasi dengan interface berorientasi objek, serta memungkinkan Anda untuk menentukan dengan tepat ke mana arah plot harus pergi: f, axs = plt.subplots(1, 2, figsize=(8, 4), gridspec_kw=dict(width_ratios=[4, 3])) sns.scatterplot(data=penguins, x="flipper_length_mm", y="bill_length_mm", hue="species", ax=axs[0]) sns.histplot(data=penguins, x="species", hue="species", shrink=.8, alpha=.8, legend=False, ax=axs[1]) f.tight_layout() Berkenalan Dengan Seaborn Python - Scatter Plot dan histplot Fungsi figure-levelSebaliknya, fungsi figure-level tidak dapat (dengan mudah) di buat dengan menggunakan plot lain. Secara desain, fungsi ini "memiliki" gambar mereka sendiri, termasuk inisialisasi, sehingga tidak ada disarankan untuk menggunakan fungsi figure-level dalam menggambar plot kepada sumbu yang ada. Keterbatasan ini memungkinkan fungsi figure-level untuk mengimplementasikan fitur lain seperti meletakkan legenda di luar plot. Namun demikian, ada kemungkinan untuk melampaui fungsi yang terdapat pada figure-level dengan cara mengakses sumbu matplotlib pada objek yang dikembalikan, lalu menambahkan elemen lain ke dalam plot seperti ini: import matplotlib.pyplot as plt tips = sns.load_dataset("tips") g = sns.relplot(data=tips, x="total_bill", y="tip") x = np.linspace(0, 10, 100) plt.plot(x, x + 1, linestyle='dashed', color="r") Berkenalan Dengan Seaborn Python - Figure plot dan matplotlib Menyesuaikan plot dari fungsi figure-levelFungsi figure-level menghasilkan sebuah penguins = sns.load_dataset("penguins") sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")0 instance, yang memiliki beberapa metode untuk menyesuaikan atribut plot dengan cara pengorganisasian subplot. Misalnya, Anda dapat mengubah label pada sumbu eksternal hanya denga menggunakan satu baris kode: g = sns.relplot(data=penguins, x="flipper_length_mm", y="bill_length_mm", col="sex") g.set_axis_labels("Panjang Flipper (mm)", "Panjang Bill (mm)") Berkenalan Dengan Seaborn Python- Relabelling Axis Meskipun mudah, hal ini menambahkan sedikit kerumitan, karena Anda perlu ingat bahwa metode ini bukan bagian dari API matplotlib dan hanya ada pada saat menggunakan fungsi figure-level. Menentukan ukuran gambarUntuk menambah atau mengurangi ukuran plot pada matplotlib, Anda dapat mengatur lebar dan tinggi dari seluruh gambar, baik ketika di dalam rcParams global, ketika sedang menyiapkan plot (misalnya dengan parameter penguins = sns.load_dataset("penguins") sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")8 dari penguins = sns.load_dataset("penguins") sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")9), atau dengan memanggil metode pada objek gambar (misalnya sns.displot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")0 ). Saat menggunakan fungsi axes-level pada Seaborn, aturan yang sama akan berlaku, yaitu: ukuran plot ditentukan oleh ukuran gambar yang menjadi bagiannya dan layout sumbu pada gambar tersebut. Saat menggunakan fungsi figure-level, ada beberapa perbedaan utama. Pertama, fungsi itu sendiri memiliki parameter untuk mengontrol ukuran gambar. Kedua, sns.displot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")1 dan sns.displot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")2, memiliki parameter ukuran sedikit berbeda dibandingkan sns.displot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")3. Parameter sns.displot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")1 dalam matplotlib (menggunakan parameter pada seaborn, sns.displot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")5). Yang paling perlu diperhatikan adalah, parameter tersebut sesuai dengan ukuran setiap subplot , bukan ukuran gambar secara keseluruhan Untuk mengilustrasikan perbedaan antara kedua pendekatan ini, berikut adalah output default dari dengan satu subplot: Berkenalan Dengan Seaborn Python - Subplot kosong f, ax = plt.subplots(1, 2, sharey=True) Berkenalan Dengan Seaborn Python - 2 subplot kosong share y Sebaliknya, plot yang dibuat oleh fungsi figure-level akan berbentuk persegi. Untuk mendemonstrasikannya, mari kita membuat plot kosong dengan menggunakan penguins = sns.load_dataset("penguins") sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")0 secara langsung. Hal ini terjadi di balik layar dalam fungsi seperti sns.displot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")7 atau sns.displot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")8: import matplotlib.pyplot as plt plt.show()0 Berkenalan Dengan Seaborn Python - Plot Face Grid Ketika menambahkan kolom, gambar tersebut akan menjadi lebih lebar, sehingga subplotnya akan memiliki ukuran dan bentuk yang sama: import matplotlib.pyplot as plt plt.show()1 Berkenalan Dengan Seaborn Python - Dua Kolom Face Grid Dan Anda dapat menyesuaikan ukuran dan bentuk setiap subplot tanpa memperhitungkan jumlah total baris dan kolom pada gambar: import matplotlib.pyplot as plt plt.show()2 Berkenalan Dengan Seaborn Python - Dua kolom facegrid dengan ukuran custom Hasilnya adalah Anda dapat menetapkan variabel sns.displot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")9 tanpa berhenti memikirkan tentang bagaimana Anda perlu menyesuaikan ukuran gambar total. Kelemahannya adalah, ketika Anda ingin mengubah ukuran gambar, Anda perlu mengingat bahwa segala sesuatunya bekerja sedikit berbeda dari yang dilakukan oleh matplotlib. Kelebihan relatif dari fungsi figure-levelKeuntunganKekuranganFaceting mudah oleh variabel dataBanyak parameter tidak ada dalam tanda tangan fungsiLegenda di luar plot secara defaultTidak boleh menjadi bagian dari gambar matplotlib yang lebih besarKustomisasi tingkat gambar yang mudahAPI berbeda dari matplotlibSelain itu, fungsi figure-level memiliki beberapa kompleksitas tambahan yang dapat membuat hal-hal menjadi lebih membingungkan bagi pemula. Namun, dengan fitur-fitur yang berbeda, memberinya keunggulan tambahan. Dokumentasi resmi tutorial dari Seaborn, sebagian besar menggunakan fungsi figure-level, karena fungsi tersebut menghasilkan plot yang lebih bersih, dan direkomendasikan untuk digunakan pada aplikasi yang lebih besar lagi. Satu situasi di mana fungsi ini bukan pilihan yang baik adalah ketika Anda perlu membuat sesuatu yang kompleks dan mandiri untuk menyusun berbagai jenis plot yang berbeda. Pada titik ini, disarankan untuk menyiapkan gambar dengan menggunakan matplotlib secara langsung dan mengisi masing-masing komponen menggunakan fungsi axis-level. Menggabungkan beberapa tampilan pada dataDua fungsi pembuatan plot yang penting pada Seaborn tidak cocok dengan skema klasifikasi yang telah di bahas pada bagian sebelumnya. Fungsi-fungsi ini, dan , menggunakan berbagai jenis plot dari modul yang berbeda untuk merepresentasikan berbagai aspek kumpulan data dalam satu gambar. Kedua plot terserbut adalah fungsi figure-level dan membuat gambar dengan jumlah subplot yang banyak secara default. Namun keduanya menggunakan objek yang berbeda dalam mengelola gambar: dan . berfungsi untuk memplot hubungan atau distribusi gabungan dua variabel sambil menambahkan sumbu marginal yang menunjukkan distribusi univarian dari masing-masing variabel secara terpisah: import matplotlib.pyplot as plt plt.show()3 Berkenalan Dengan Seaborn Python - Join plot Sama seperti hal nya pada - Fungsi ini menggabungkan gambar gabungan dan marginal - Tidak hanya terfokus pada satu hubungan antar data, melainkan memvisualisasikan setiap kombinasi secara bersamaan. import matplotlib.pyplot as plt plt.show()4 Berkenalan Dengan Seaborn Python - Pair Plot Di belakang layar, fungsi ini menggunakan fungsi axes-level yang telah Anda temui pada dan . Fungsi ini pun memiliki parameter penguins = sns.load_dataset("penguins") sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")4yang memungkinkan Anda dengan cepat menukarnya ke dalam representasi yang berbeda: import matplotlib.pyplot as plt plt.show()5 Berkenalan Dengan Seaborn Python - Join plot 2 KesimpulanPada artikel ini Anda telah berkenalan dengan seaborn Python, yang merupakan salah satu library yang paling sering digunakan untuk visualisasi data menggunakan Python. Anda telah mengetahui beberapa fungsi dasar pada library ini. Namun, masih banyak yang akan kita bahas pada website ini mengenai Seaborn. Oleh karena itu, tetap datangi website ini untuk mendapatkan update terbaru dan tidak terlewatkan. Apa fungsi syntax subplot pada python?plt.subplot digunakan untuk membuat multiple plots yang memiliki weight dan height yang sama.
Apa itu figure dalam matplotlib?Figure adalah objek matplotlib yang mengandung semua elemen dari sebuah grafik, sedangkan Axes merupakan tempat dimana method untuk plotting didefinisikan, termasuk method untuk membuat dan memanipulasi garis axis, grid, label tick, ataupun background.
Apa yang dimaksud Line Plot?Selain itu, line plot yaitu jenis grafik untuk menampilkan informasi dengan menggunakan banyak titik yang saling terhubung dan membentuk garis lurus atau lengkung.
|