Anda di halaman 1dari 16

1

MODUL PERKULIAHAN

W542100001 –
Analisis Data
Visualisasi dengan Seaborn

Abstrak Sub-CPMK

Visualisasi data dalam Sub-CPMK 4.2.


beragam bentuk grafik. Mampu menyajikan data secara visual
untuk dianalisa lebih lanjut,
menggunakan Pustaka Seaborn.

Seaborn adalah pustaka visualisasi data yang luar biasa untuk grafik statistik
yang diplot dengan Python . Ini memberikan gaya default yang indah dan palet warna
untuk membuat plot statistik lebih menarik. Itu dibangun di atas perpustakaan
matplotlib dan juga terintegrasi erat dengan struktur data dari panda. Dalam tutorial
ini, kita akan melihat bagaimana menggunakan seaborn untuk membuat berbagai plot
dan bagaimana kita dapat menggunakannya bersama dengan matplotlib untuk
membuat plot kita lebih menarik.
1. Menginstall Seaborn
2. Import Data dan Plot Seaborn
3. Gaya dan Tema di Seaborn
4. Palet Warna Seaborn
5. Fungsi pada Seaborn
1. Merencanakan dengan fungsi relplot
2. Plotting with the relplot function
3. Histogram
4. Bar Plot
5. Count Plot
6. Point Plot
7. Joint Plot
8. Regplot
9. Lm Plot
10. KDE Plot
11. Box Plot
12. Violin Plot
13. Heatmap
14. Cluster map
15. Facetgrid
16. Pair Plot

8.1. Menginstal Seaborn


Sebelum menggunakan Seaborn, kita perlu menginstalnya dan di sini saya akan
menunjukkan berbagai cara menginstalnya di komputer Anda.
Menggunakan Penginstal Pip
pip adalah sistem manajemen paket standar de facto yang digunakan untuk
menginstal dan mengelola paket perangkat lunak yang ditulis dengan Python.
instal pip seaborn
Menggunakan Anaconda
Anaconda adalah manajer paket, manajer lingkungan, dan distribusi Python yang
berisi kumpulan banyak paket sumber terbuka. Jika Anda memerlukan paket

2021 Analisis Data


2 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
tambahan setelah menginstal Anaconda, Anda dapat menggunakan manajer paket
atau conda Anaconda untuk menginstal paket tersebut.
conda install seaborn
Anda juga dapat menginstal versi pengembangan Seaborn langsung dari GitHub
dengan menggunakan perintah ini di command prompt.
pip install git+https://github.com/mwaskom/seaborn.git#egg=seaborn
Juga, pastikan Anda telah menginstal dependensi berikut di komputer Anda:
 Python 3.6+
 JumlahPy
 SciPy
 Panda
 Matplotlib
 Statsmodels (opsional, tetapi disarankan)

8.2. Import Data dan Plot Seaborn


Di bagian ini, kita akan melihat cara mengimpor set data bawaan dari seaborn
yang diunduh secara otomatis pada saat penginstalan. Anda juga dapat menggunakan
Pandas untuk mengimpor kumpulan data apa pun, tetapi menggunakan kumpulan
data bawaan dapat sangat berguna saat berlatih Seaborn. Inilah cara kami
mendapatkan daftar semua kumpulan data yang ada di dalam Seaborn
import pandas
import matplotlib
import scipy
import seaborn as sns
print(sns.get_dataset_names())
Output:
['anagrams', 'anscombe', 'attention', 'brain_networks',
'car_crashes', 'diamonds', 'dots', 'exercise', 'flights',
'fmri', 'gammas', 'geyser', 'iris', 'mpg', 'penguins',
'planets', 'tips', 'titanic']
Sekarang mari kita mengimpor salah satu dari kumpulan data itu dan
memvisualisasikan data di bagian yang akan datang
1 import seaborn as sns
2 df = sns.load_dataset('car_crashes')
3 print(df.head())
Output:
total speeding alcohol ... ins_premium ins_losses abbrev
0 18.8 7.332 5.640 ... 784.55 145.08 AL
1 18.1 7.421 4.525 ... 1053.48 133.93 AK
2 18.6 6.510 5.208 ... 899.47 110.35 AZ
3 22.4 4.032 5.824 ... 827.34 142.39 AR
4 12.0 4.200 3.360 ... 878.41 165.63 CA

2021 Analisis Data


3 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
8.3. Gaya dan Tema di Seaborn
Kami menggunakan visualisasi untuk mendapatkan wawasan dari sejumlah
besar data atau menyajikan wawasan kami kepada para pemangku kepentingan dan
membuat visualisasi ini lebih menyenangkan pasti dapat membantu keduanya. Orang
lebih cenderung berkonsentrasi pada visualisasi yang indah dan menarik daripada plot
yang membosankan sehingga gaya dapat dianggap sebagai komponen penting dari
visualisasi data.
Pustaka Matplotlib sangat dapat disesuaikan, tetapi mungkin sulit bagi kami
untuk mengubah pengaturan yang tepat untuk mendapatkan plot yang menarik dan
terlihat bagus. Tidak seperti Matplotlib, Seaborn hadir dengan tema yang disesuaikan
dan antarmuka tingkat tinggi untuk menyesuaikan dan mengontrol tampilan figur
Matplotlib.
Pertama, mari kita lihat bagaimana kita dapat menata plot Matplotlib sederhana
menggunakan fungsi set() Seaborn.
1 from matplotlib import pyplot as plt
2 import seaborn as sns
3 plt.scatter(df.speeding,df.alcohol)
4 plt.show()
Keluaran:

Sekarang mari kita lihat bagaimana kita dapat menata plot ini menggunakan
fungsi set()
1 from matplotlib import pyplot as plt
2 import seaborn as sns
3 plt.scatter(df.speeding,df.alcohol)
4 sns.set()
5 plt.show()
Keluaran:

2021 Analisis Data


4 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Dua gambar di atas menunjukkan perbedaan dalam plot Matplotlib dan Seaborn
default. Representasi datanya sama, tetapi ada sedikit perbedaan dalam gaya plot ini.
Seaborn mendukung berbagai tema yang dapat membuat penataan plot menjadi
sangat mudah dan menghemat banyak waktu. Dengan menggunakan fungsi
set_style() dari Seaborn, kita dapat mengatur salah satu tema yang tersedia di
perpustakaan Seaborn. Berikut adalah beberapa tema populer:
 jaringan gelap
 jaringan putih
 Gelap
 putih
 Kutu
Mari kita coba menerapkan tema-tema ini dan melihat perbedaannya satu sama lain.
Tema default plot adalah Darkgrid yang telah kita lihat pada contoh sebelumnya.
1 from matplotlib import pyplot as plt
2 import seaborn as sns
3 plt.scatter(df.speeding,df.alcohol)
4 sns.set_style("whitegrid")
5 plt.show()

1 from matplotlib import pyplot as plt

2021 Analisis Data


5 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
2 import seaborn as sns
3 plt.scatter(df.speeding,df.alcohol)
4 sns.set_style("dark")
5 plt.show()

1 from matplotlib import pyplot as plt


2 import seaborn as sns
3 plt.scatter(df.speeding,df.alcohol)
4 sns.set_style("white")
5 plt.show()

1 from matplotlib import pyplot as plt


2 import seaborn as sns
3 plt.scatter(df.speeding,df.alcohol)
4 sns.set_style("ticks")
5 plt.show()

2021 Analisis Data


6 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Tapi kami biasanya tidak membuat plot kami seperti di atas karena kami tidak
menyertakan duri sumbu atas dan kanan. Kita dapat menghapus duri sumbu atas dan
kanan menggunakan fungsi despine().
1 from matplotlib import pyplot as plt
2 import seaborn as sns
3 plt.scatter(df.speeding,df.alcohol)
4 sns.set_style("ticks")
5 sns.despine()
6 plt.show()

Tetapi memiliki sejumlah tema yang terbatas mungkin tidak terlalu bagus seperti yang
selalu kami harapkan untuk beberapa fleksibilitas. Dengan mengingat hal ini, gaya ini
dapat disesuaikan dan dapat disesuaikan dengan meneruskan kamus parameter ke
fungsi set_style() dari perpustakaan Seaborn. Parameter yang tersedia dilihat
menggunakan fungsi axes_style() seperti yang ditunjukkan di bawah ini:
1 import seaborn as sns
2 param=sns.axes_style()
3 param
Output:
{'axes.axisbelow': True,
'axes.edgecolor': '.15',
'axes.facecolor': 'white',
'axes.grid': False,

2021 Analisis Data


7 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
'axes.labelcolor': '.15',
'axes.spines.bottom': True,
'axes.spines.left': True,
'axes.spines.right': True,
'axes.spines.top': True,
'figure.facecolor': 'white',
'font.family': ['sans-serif'],
'font.sans-serif': ['Arial',
'DejaVu Sans',
'Liberation Sans',
'Bitstream Vera Sans',
'sans-serif'],
'grid.color': '.8',
'grid.linestyle': '-',
'image.cmap': 'rocket',
'lines.solid_capstyle': 'round',
'patch.edgecolor': 'w',
'patch.force_edgecolor': True,
'text.color': '.15',
'xtick.bottom': True,
'xtick.color': '.15',
'xtick.direction': 'out',
'xtick.top': False,
'ytick.color': '.15',
'ytick.direction': 'out',
'ytick.left': True,
'ytick.right': False}
Mengubah nilai salah satu parameter ini akan mengubah gaya plot dan dengan
demikian kita dapat mencoba berbagai hal untuk membuat plot kita benar-benar
berbeda dan menarik.
1 from matplotlib import pyplot as plt
2 import seaborn as sns
3 plt.scatter('speeding','alcohol',data=df)
4 sns.set_style("darkgrid", {'grid.color': '.5'})
5 sns.despine()
6 plt.show()

Seaborn juga memungkinkan kita untuk mengontrol elemen individual dari grafik kita
dan dengan demikian kita dapat mengontrol skala elemen ini atau plot dengan
menggunakan fungsi set_context(). Kami memiliki empat templat prasetel untuk
konteks, berdasarkan ukuran relatif, konteksnya dinamai sebagai berikut:

2021 Analisis Data


8 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
 Kertas
 Buku catatan
 Bicara
 Poster
Secara default, konteks disetel ke buku catatan dan semua contoh di atas memiliki
konteks yang disetel ke 'buku catatan'. Sekarang mari kita coba konteks lain dan lihat
bagaimana pengaruhnya terhadap plot kita.
1 from matplotlib import pyplot as plt
2 import seaborn as sns
3 plt.scatter(df.speeding,df.alcohol)
4 sns.set_style("dark")
5 sns.set_context("notebook")
6 plt.show()

1 from matplotlib import pyplot as plt


2 import seaborn as sns
3 plt.scatter(df.speeding,df.alcohol)
4 sns.set_style("dark")
5 sns.set_context("poster")
6 plt.show()

2021 Analisis Data


9 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
8.4. Palet Warna Seaborn
Seaborn memiliki reputasi untuk membuat plot dan grafik lebih menarik
menggunakan warna dan kombinasi warna yang menarik. Dalam visualisasi data,
warna harus dilibatkan, dan warna memiliki pengaruh pada pengamatnya. Warna
memainkan peran penting daripada aspek lain apa pun dalam visualisasi. Ketika
digunakan secara efektif, warna menambah nilai lebih pada plot. Palet berarti
permukaan datar tempat seorang pelukis menata dan mencampur cat. Di sini saya
akan menunjukkan beberapa palet warna dari 170 palet yang ditawarkan oleh
Seaborn.
1 sns.palplot(sns.color_palette("deep", 10))

1 sns.palplot(sns.color_palette("PiYG", 10))

1 sns.palplot(sns.color_palette("GnBu", 10))

Berikut adalah daftar palet yang dapat Anda coba sendiri. Anda akan melihat banyak
penggunaan palet warna ini di plot yang akan datang.
'Aksen', 'Accent_r', 'Blues', 'Blues_r', 'BrBG',
'BrBG_r', 'BuGn', 'BuGn_r', 'BuPu', 'BuPu_r', 'CMRmap',
'CMRmap_r', 'Dark2', 'Dark2_r', 'GnBu', 'GnBu_r',
'Hijau', 'Hijau_r', 'Abu-abu', 'Abu-abu_r', 'OrRd',
'OrRd_r', 'Jeruk', 'Jeruk_r', 'PRGn', 'PRGn_r',
'Berpasangan', 'Berpasangan_r', 'Pastel1', 'Pastel1_r', 'Pastel2',
'Pastel2_r', 'PiYG', 'PiYG_r', 'PuBu', 'PuBuGn', 'PuBuGn_r',
'PuBu_r', 'PuOr', 'PuOr_r', 'PuRd', 'PuRd_r', 'Ungu',
'Purples_r', 'RdBu', 'RdBu_r', 'RdGy', 'RdGy_r', 'RdPu',
'RdPu_r', 'RdYlBu', 'RdYlBu_r', 'RdYlGn', 'RdYlGn_r',
'Merah', 'Merah_r', 'Set1', 'Set1_r', 'Set2', 'Set2_r',
'Set3', 'Set3_r', 'Spectral', 'Spectral_r', 'Wistia',
'Wistia_r', 'YlGn', 'YlGnBu', 'YlGnBu_r', 'YlGn_r',
'YlOrBr', 'YlOrBr_r', 'YlOrRd', 'YlOrRd_r', 'afmhot',
'afmhot_r', 'musim gugur', 'musim gugur_r', 'biner', 'biner_r',
'tulang', 'tulang_r', 'brg', 'brg_r', 'bwr', 'bwr_r', 'cividis',
'cividis_r', 'keren', 'keren_r', 'keren', 'keren_r',
'tembaga', 'tembaga_r', 'cubehelix', 'cubehelix_r', 'bendera',
'flag_r', 'Gist_earth', 'Gist_earth_r', 'Gist_gray',
'Gist_gray_r', 'Gist_heat', 'Gist_heat_r', 'Gist_ncar',
'Gist_ncar_r', 'Gist_rainbow', 'Gist_rainbow_r',
'Gist_stern', 'Gist_stern_r', 'Gist_yarg', 'Gist_yarg_r',

2021 Analisis Data


10 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
'gnuplot', 'gnuplot2','gnuplot2_r', 'gnuplot_r',
'abu-abu', 'abu-abu_r', 'panas', 'panas_r', 'hsv',
'hsv_r', 'icefire', 'icefire_r', 'inferno', 'inferno_r', 'jet',
'jet_r', 'magma', 'magma_r', 'mako', 'mako_r',

8.5. Fungsi pada Seaborn


Di bagian ini, kita akan menjelajahi beberapa dari berbagai pilihan yang Anda
dapatkan saat menggunakan Seaborn untuk memplot grafik. Ada berbagai jenis plot
yang didukung di Seaborn dan di sini kita akan menjelajahi beberapa di antaranya.

Merencanakan dengan fungsi relplot

Pustaka Seaborn memberi kita fungsi relplot() dan fungsi ini menyediakan akses ke
beberapa fungsi tingkat sumbu yang berbeda yang menunjukkan hubungan antara
dua variabel dengan pemetaan subset semantik. Parameter jenis memilih fungsi
tingkat sumbu yang mendasari untuk digunakan:
 scatterplot() (dengan jenis="scatter")
 lineplot() (dengan jenis="line")
Nilai default untuk jenis parameter adalah 'scatter' yang berarti bahwa secara default
fungsi ini akan mengembalikan scatterplot. Berikut adalah beberapa contoh fungsi ini:
1 import seaborn as sns
2 tips = sns.load_dataset("tips")
3 tips.head()

4 sns.relplot(data=tips, x="total_bill", y="tip")

2021 Analisis Data


11 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
5 sns.relplot(data=tips, x="total_bill", y="tip", hue="day")

Menggunakan parameter
rona
sns.relplot(data=tips, x="total_bill", y="tip", hue="sex", col="day",
6
col_wrap=2)

2021 Analisis Data


12 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
1 sns.relplot(data=tips, x="size", y="tip",kind="line",ci=None)

2021 Analisis Data


13 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Menggunakan kind=line untuk memplot plot garis
Sekarang seperti yang Anda lihat, kami telah menambahkan dimensi ekstra ke plot
kami dengan mewarnai titik-titik menurut variabel ketiga. Di seaborn, ini disebut
menggunakan "hue semantic", karena warna titik memperoleh makna dan dilakukan
dengan melewatkan variabel ketiga ke parameter hue dari fungsi relplot. Kita akan
membahas parameter col nanti di bagian facetGrid.

Histogram

Histogram merepresentasikan distribusi data dengan membentuk bin beserta rentang


datanya dan kemudian menggambar batang untuk menunjukkan jumlah pengamatan
yang ada di setiap bin. Di Seaborn kami menggunakan fungsi distplot() untuk memplot
histogram. Berikut adalah contohnya:
1 import seaborn as sns
2 from matplotlib import pyplot as plt
3 df = sns.load_dataset('iris')
4 sns.distplot(df['petal_length'],kde = False)

Plot Bar

Seaborn mendukung banyak jenis plot bar dan Anda akan melihat beberapa di
antaranya di sini. Di sini, seperti yang disebutkan dalam pendahuluan, kita akan
menggunakan seaborn dan matplotlib bersama-sama untuk mendemonstrasikan
beberapa plot.

Barplot vertikal
Plot barplot di bawah ini menunjukkan orang-orang yang selamat dari kecelakaan
titanic berdasarkan kategori.
1 import matplotlib.pyplot as plt
2 import seaborn as sns
3

2021 Analisis Data


14 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
4 sns.set_context('paper')
5
6 # load dataset
7 titanic = sns.load_dataset('titanic')
8 # create plot
9 sns.barplot(x = 'embark_town', y = 'age', data = titanic,
10 palette = 'PuRd',ci=None
11 )
12 plt.legend()
13 plt.show()
14 print(titanic.columns)

1 import matplotlib.pyplot as plt


2 import seaborn as sns
3 # load dataset
4 titanic = sns.load_dataset('titanic')
5 # create plot
6 sns.barplot(x = 'sex', y = 'survived', hue = 'class', data = titanic,
7 palette = 'PuRd',
8 order = ['male', 'female'],
9 capsize = 0.05,
10 saturation = 8,
11 errcolor = 'gray', errwidth = 2,
12 ci = 'sd'
13 )
14 plt.legend()
15 plt.show()

2021 Analisis Data


15 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Barplot horisontal
Untuk menggambar plot horizontal lewat 'h' ke parameter, orientasikan fungsi barplot
seperti yang ditunjukkan di bawah ini:
1 import matplotlib.pyplot as plt
2 import seaborn as sns
3
4 sns.set_context('paper')
5 sns.barplot(x = 'age', y = 'embark_town', data = titanic,
6 palette = 'PuRd', orient = 'h',
7 )
8 plt.show()

8.6. Daftar Pustaka


https://www.mygreatlearning.com/blog/seaborn-tutorial/

2021 Analisis Data


16 Eko Ihsanto, Dr, Ir, M.Eng
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/

Anda mungkin juga menyukai