Data Visualization With Python Matplotlib For Beginner
Data Visualization With Python Matplotlib For Beginner
Dalam modul ini, akan dijelaskan beberapa hal yang dapat dilakukan dengan matplotlib. Di
antaranya:
1. import datetime
2. dataset['order_month']= dataset['order_date'].apply(lambda
x:datetime.datetime.strptime(x, "%Y-%m-%d").strftime('%Y-%m'));
3. print(dataset.head());
apply & lambda biasa digunakan untuk membuat kolom baru, berdasarkan suatu kolom
lain yang sudah ada (misal .apply(lambda x: x*2) berarti setiap input x di dalam kolom,
akan diubah menjadi x*2). Dalam hal ini kolom yang sudah ada adalah
dataset['order_date'], lalu tiap nilai di dalamnya kita proses agar menjadi month-nya saja
Function datetime.datetime.strptime digunakan untuk mengubah date/time dalam bentuk
string menjadi tipe data datetime.
Function strftime digunakan untuk mengubah format suatu data bertime datetime, dalam
hal ini diubah menjadi '%Y-%m', yang berarti outputnya adalah waktu dengan bentuk
YYYY-MM atau tahun dan bulan saja, tanggalnya sudah tidak ada.
1. dataset['gmv']= dataset['item_price']*dataset['quantity']
2. print('Ukuran dataset: %d baris dan %d kolom\n' % dataset.shape)
3. print('Lima data teratas:')
4. print(dataset.head())
1. monthly_amount = dataset.groupby('order_month')['gmv'].sum().reset_index()
2. print(monthly_amount)
Dengan pendekatan lain, dimungkinkan juga melakukan visualisasi dengan matplotlib tanpa
membuat variabel baru
catatan singkat seputar dua cara untuk membuat plot menggunakan matplotlib:
Aku menggeser bangku untuk mendekatkan diri ke sebelah Senja agar bisa mendengar lebih
jelas.
“Sebelum mulai kustomisasi, ada baiknya kita pahami dulu anatomi dari sebuah Figure di
maplotlib. Bisa dilihat sesuai di gambar berikut,” jelas Senja sambil menampilkan layar berisi
contoh gambar:
Ada beberapa istilah dan komponen di sebuah plot, nanti akan mempermudah mengingat
function apa yang digunakan untuk memodifikasinya.
Figure adalah keseluruhan visualisasi yang kita plot dalam 1 kali menjalankan code.
Sedangkan satu plot (yang dibuat saat memanggil .plot() atau .scatter()) disebut Axes.
Sebuah Figure bisa terdiri dari beberapa Axes.
Setiap Axes biasanya memiliki sumbu-X (X-axis) dan sumbu-Y (Y-axis). Masing-
masing sumbu memiliki komponen sebagai berikut:
o Axis Label: Nama dari sumbu yang ditampilkan.
o Tick: Penanda berupa titik/garis kecil yang berjajar di sumbu, sebagai referensi
skala nilai.
o Tick Label: Tulisan di tiap tick yang menyatakan nilainya.
Untuk isi grafiknya sendiri, bisa berupa line (untuk line plot), atau marker (untuk scatter
plot), bisa juga bentuk lain seperti bar (untuk bar plot / histogram).
Aksesoris lain yang bisa ditambahkan, di antaranya Grid untuk mempermudah melihat
tick yang sejajar, dan Text untuk memberikan informasi tambahan berbentuk teks di
grafik.
Memahami komponen-komponen di atas sudah cukup untuk melakukan berbagai visualisasi
dengan matplotlib. Untuk anatomi yang lebih lengkap, bisa dilihat di link berikut:
https://matplotlib.org/3.1.3/gallery/showcase/anatomy.html.
Untuk menambahkannya, tinggal menambah plt.title, plt.xlabel, dan plt.ylabel di code sebelum
plt.show()
loc: digunakan untuk menentukan posisi title, misalnya ‘left’ untuk membuat rata
kiri, ‘right’ untuk rata kanan, dan ‘center’ untuk meletakkannya di tengah. Jika
tidak didefinisikan, maka defaultnya title ada di tengah.
pad: digunakan untuk menambahkan jarak antara judul ke grafik (dalam satuan
px), misalnya kita tidak ingin judulnya terlalu menempel dengan grafiknya, jadi
kita beri jarak.
fontsize: digunakan untuk mengganti ukuran font/huruf (dalam satuan px).
color: digunakan untuk mengganti warna huruf judul. Kita bisa menggunakan
warna dasar dengan kata seperti ‘blue’, ‘red’, ‘orange’, dsb. Bisa juga dengan hex
string, misalnya '#42DDF5' untuk warna biru muda
1. import matplotlib.pyplot as plt
2. plt.figure(figsize=(15, 5))
3. dataset.groupby(['order_month'])['gmv'].sum().plot()
4. plt.title('Monthly GMV Year 2019', loc='center', pad=40, fontsize=20,
color='blue')
5. plt.xlabel('Order Month', fontsize=15)
6. plt.ylabel('Total Amount', fontsize=15)
7. plt.show()
Kustomisasi Grid
Caranya dengan menambahkan plt.grid() dengan parameter yang mirip dengan line.