import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# Import Dataset
= pd.read_csv('https://raw.githubusercontent.com/farhanage/dataset-for-study/main/insurance.csv')
df
# Cek 5 observasi pertama
df.head()
Pertemuan 3 : Simple Data Visualization (matplotlib)
Kembali ke EDA
Matplotlib (Pyplot)
Matplotlib adalah library yang digunakan untuk visualisasi data. Hasil visualisasi data matplotllib menyerupai hasil visualisasi pada bahasa pemrograman matlab. Library ini bukanlah cara yang paling mudah untuk menghasilkan visualisasi data, tetapi visualisasi yang dihasilkan fleksibel dan dapat digunakan untuk banyak sekali kasus.
# melihat informasi mengenai tiap variabel
df.info()
# statistik deskritif semua variabel numerik
df.describe()
Box Plot
# Box Plot variabel `age`
='age', data=df)
plt.boxplot(x
# Menambahkan Judul Plot
"Box Plot")
plt.title(
# Menambahkan label sumbu X dan Y
'Age')
plt.xlabel('Value')
plt.ylabel(
# Menunjukkan plot
plt.show()
# Box Plot variabel `bmi`
='bmi', data=df)
plt.boxplot(x
# Menambahkan Judul Plot
"Box Plot")
plt.title(
# Menambahkan label sumbu X dan Y
'bmi')
plt.xlabel('Value')
plt.ylabel(
# Menunjukkan plot
plt.show()
Seperti halnya penggunaan syntax ?
pada bahasa pemrograman R, kita dapat mengakses dokumentasi suatu fungsi dalam suatu modul pada python dengan menggunakan function help()
# Melihat dokumentasi mengenai function plt.boxplot()
help(plt.boxplot)
Histogram
# Histogram variabel `bmi`
='bmi', data=df)
plt.hist(x
# Menambahkan Judul Plot
"Histogram")
plt.title(
# Menambahkan label sumbu X dan Y
'bmi')
plt.xlabel('Count')
plt.ylabel(
# Menunjukkan plot
plt.show()
Bar Chart
# Hitung banyaknya responden dari masing-masing gender
'sex'].value_counts() df[
# Bar chart jumlah tiap jenis kelamin
'sex'].value_counts().plot(kind='bar')
df[
# Menambahkan Judul Plot
"Bar Chart")
plt.title(
# Menambahkan label sumbu X dan Y
'sex')
plt.xlabel('count')
plt.ylabel(
# Menunjukkan plot
plt.show()
Horizontal Bar Chart
# Horizontal Bar chart jumlah tiap jenis kelamin
'sex'].value_counts().plot(kind='barh')
df[
# Menambahkan Judul Plot
"Bar Chart")
plt.title(
# Menambahkan label sumbu X dan Y
'count')
plt.xlabel('sex')
plt.ylabel(
# Menunjukkan plot
plt.show()
Pie Chart
# Pie chart persentase sebaran region seluruh responden
'region'].value_counts().plot(kind='pie', autopct='%1.1f%%')
df[
# Menambahkan Judul Plot
"Pie Chart")
plt.title(
# Menunjukkan plot
plt.show()
Scatter Plot
# Scatter plot variabel `age` dan `charges`
='scatter', x='age', y='charges')
df.plot(kind
# Menambahkan Judul Plot
"Scatter Plot `Age` vs `Charges`")
plt.title(
# Menambahkan label sumbu X dan Y
'Age')
plt.xlabel('Charges')
plt.ylabel(
# Menunjukkan plot
plt.show()
Untuk plot lainnya, silakan telusuri dokumentasi dari library matplotlib yang dapat diakses pada link berikut : Dokumentasi matplotlib.pyplot
Subplots
Figure and Axes
Pembuatan suatu plot menggunakan library matplotlib akan menghasilkan suatu figure yang memiliki beberapa komponen di dalamnya.
Berikut cara membuat suatu figure menggunakan matplotlib
= plt.figure() # an empty figure with no Axes
fig
plt.show()
Figure kosong tidak dapat divisualisasikan. Untuk membuat suatu figure yang memiliki axes, gunakan function plt.subplots()
= plt.subplots() # a figure with a single Axes
fig, ax
plt.show()
Bagaimana jika kita ingin membuat gabungan dari beberapa Axes dalam 1 figure?
function subplots menerima parameter jumlah baris dan jumlah kolom untuk membentuk suatu grid yang terdiri atas 1 atau lebih axes
= plt.subplots(2, 2) # a figure with a 2x2 grid of Axes
fig, axs
plt.show()
Selain dengan function subplots, ada juga function subplot_mosaic
yang akan menghasilkan axes dengan ukuran yang lebih bervariasi.
# a figure with one axes on the left, and two on the right:
= plt.subplot_mosaic([['left', 'right_top'],
fig, axs 'left', 'right_bottom']])
[
plt.show()
Plots
Untuk menambahkan plot pada tiap axis, gunakan function-function plot pada axis dengan index yang bersesuaian.
= plt.subplots(2, 2, layout="constrained")
fig, axs
0,0].hist(df['age'])
axs[
0,0].set_title('Variabel `Age`')
axs[
0,1].hist(df['bmi'])
axs[
0,1].set_title('Variabel `bmi`')
axs[
1,0].hist(df['children'])
axs[
1,0].set_title('Variabel `children`')
axs[
1,1].hist(df['charges'])
axs[
1,1].set_title('Variabel `charges`')
axs[
'Histogram Variabel Numerik')
fig.suptitle(
plt.show()
Lebih lanjut, silakan baca dokumentasi dari plt.subplot pada link berikut : Dokumentasi plt.subplots