Data Visualization with Python Matplotlib for Beginner (Part 2)

I PUTU SEDANA WIJAYA
6 min readDec 13, 2020
https://files.realpython.com/media/How-to-Plot-With-Pandas_Watermarked.f283f64b4ae3.jpg

Hai data loverz!

“If you cannot do great things, do small things in a great way” — Napoleon Hills

Beranjak dari quotes di atas, saat ini hal kecil yang bisa kukerjakan adalah meningkatkan produktifitas kegiatanku dengan cara salah satunya adalah menyelesaikan modul pada career track data analyst yaitu Data Visualization with Python Matplotlib for Beginner (Part 2) dari platform DQLab tempat ku belajar.

Modul ini adalah lanjutan dari modul sebelumnya, jadi buat teman-teman yang belum membaca bisa klik disini ya!

Kalau sudah, yuk kita langsung cekidot (check it out) pengalaman belajarku di modul ini!

Mengenal Jenis Visual Data

“Aku mengenal banyak jenis visual data dari gambar ini!”

Sumber: https://academy.dqlab.id/main/livecode/165/317/1478

Apa yang kalian pikirkan dengan gambar di atas? “Wah ternyata sangat banyak dan beragam ya visual data, apa aku harus menghafal semuanya?” itulah pikirku pertama kali melihatnya. Namun setelah aku menjalani modul ini, ternyata cukup memahami visual data yang mana digunakan saat ada case tertentu.

Yuk kita akan simak jenis visual data apa saja yang telah ku pelajari pada modul ini (ada banyak loh!)

Line-Chart

“Jenis ini membandingkan sekumpulan nilai dengan nilai lainnya”

Jika kalian masih ingat dengan modul Part 1, kita telah berhasil membuat line-chart sederhana seperti gambar di bawah:

Line Chart

Grafik line-chart di atas membandingkan variabel total dari pendapatan pada setiap bulannya. Sangat simple bukan? Nah, di modul ini tuh aku belajar versi lanjutannya seperti Naruto menjadi Naruto Shippuden, enggak deh canda. Ternyata kita dapat menambahkan lagi variabel pada grafik di atas sehingga jenisnya menjadi multi-line chart seperti gambar di bawah ini.

Multi-line Chart

Kita dapat menambahkan variabel brand jika ingin mengetahui perbandingan total pendapatan tiap brand setiap bulannya. Tentunya setiap brand memiliki warna berbeda dengan parameter cmap (color map) dan ditampilkan dengan plt.legend().

Multi-line Chart

Atau kita dapat melihat perbandingan pendapatan setiap provinsi dalam satuan milyar dan memberikan jarak pada figure dengan function .set_size_inches().

Multi-line Chart

Kita juga dapat memberikan keterangan seperti modul sebelumnya, namun kali ini menggunakan function .annotate().

Tentunya semua function untuk memvisualisasikan data ke multi-line chart di atas bisa kalian pelajari di DQLab ya!

Pie Chart

“Jenis ini membandingkan komposisi atau volume nilai dengan nilai lainnya”

Seperti namanya yaitu pie, bentuknya mirip dengan kue pie yang berbentuk bulat seperti gambar di bawah ini:

Pie Chart

Dengan menggunakan function .pie() pada matplotlib.pyplot kita dapat membentuk grafik pie-chart dan mengisi parameternya dengan variabel yang kita inginkan seperti diatas yaitu total pendapatan setiap kota di Jakarta. Parameter autopct juga digunakan untuk melihat angka desimal pada persen sebanyak 2 angka di belakang koma.

Dalam imajinasiku, bentuknya mirip seperti bola warna-warni yang biasa ku mainkan saat kecil, ah jadi nostalgia~

Bar Chart

“Jenis ini membandingkan data yang bersifat kategorikal”

Jenis visual data yang satu ini pasti tidak asing buat kalian, yup visual data ini pernah diajarkan saat masih duduk di bangku SD.

Bar Chart

Untuk membuat bar chart, kita perlu menambahkan parameter kind=‘bar’ pada function .plot(). Data kategorikal yang dimaksud disini adalah total pendapatan berdasarkan setiap kota. Lalu apa perbedaannya dengan line-chart? Line-chart digunakan untuk data yang terkait dengan waktu (continous) sedangkan bar chart hanya data yang bersifat mengelompokkan. Masih bingung? Lihat gambar berikut:

Multi-Bar Chart

Jika dibandingkan dengan line-chart, untuk melihat peningkatan atau penurunan pendapatan berdasarkan bulan tentu akan lebih jelas terlihat peningkatannya dibandingkan dengan multi-bar chart disamping ini. Namun, dengan multi-bar ini kita dapat melihat perbandingan yang terjadi berdasarkan kelompok tertentu hanya dengan menambahkan variabel seperti pada multi-line chart.

Namun kita juga dapat melihat komposisi atau volume seperti pie chart dengan menggunakan stacked-bar chart dengan menambahkan parameter stacked=True pada function .plot(). Sehingga pada grafik disamping terlihat perubahan pendapatan yang paling stabil adalah kota Jakarta Pusat.

Dari data diatas ternyata memang yang paling mendominasi pendapatan adalah kota Jakarta Selatan ya!

Histogram

“Untuk melihat distribusi dari pesebaran data pendapatan”

Setelah mengetahui Jakarta Selatan yang paling mendominasi, kita dapat memvisualisasikan distribusi dari jumlah order per customer dalam range tertentu dengan menggunakan function .hist() seperti gambar di bawah:

Histogram 1

Terlihat bahwa datanya terlalu berat ke kiri, hampir semua customer hanya bertransaksi kurang dari 10, dan kita dapat membatasi rangenya menjadi 1 sampai 5 dengan parameter function range().

Histogram 2
Histogram 3

Jika gambar histogram 1 kurang dapat dipahami pendistribusiannya, maka di gambar histogram 2 dan 3 ini akan lebih jelas terlihat distribusinya karena data yang lebih banyak.

Kesimpulan data tersebut adalah distribusi total transaksi yang dilakukan customer lebih banyak di range 1–2 (histogram 1), total quantity barang yang banyak dibeli ada di range 0–50, dan distribusi pendapatan yang tinggi saat jumlah customer di range 80–120.

Scatterplot

“Jenis visual ini digunakan untuk melihat relasi antar variabel”

Saat kapan pendapatan kita meningkat? Biasanya pertanyaan yang menyangkut hubungan/relasi antar variabel seperti ini dapat divisualisasikan menggunakan scatterplot dengan function .scatter().

Scatterplot

Grafik di atas telah berhasil menjawab pertanyaan yaitu dengan jumlah quantity yang dibeli semakin meningkat, maka pendapatan pun juga akan semakin meningkat.

Wah seperti ada bintang-bintang pada grafiknya! Konsep dari relasi ini adalah melakkukan cek jika variabel A semakin tinggi, apakah variabel B juga semakin tinggi, atau justru lebih rendah, atau tidak ada keterhubungannya.

Pengalaman Belajar

“Ilmu ini sangat bermanfaat untuk mempermudah analisis data!”

Dengan aku belajar memvisualisasikan data sesuai jenisnya, disitu juga aku belajar jenis grafik tertentu dapat mempermudah atau memperjelas tujuan dari visualisasi data. Ditambah latihan di akhir modul bikin pengetahuanku lebih banyak tentang visualisasi data. Sangat keren dan recommended!

NB: Aku tidak tahu apakah hanya aku yang mengalami masalah error “EOFError: Ran out of input” dan tidak menampilkan output grafik pada semestinya, sehingga aku harus menggunakan platform lain seperti google colab untuk mempraktikan materinya. Semoga kedepannya tim DQLab dapat memperbaiki bug atau masalah ini.

Bagi kalian yang tertarik untuk belajar Data Science wajib banget buat ikuti kelas di DQLab loh! Ada promo buat kalian yaitu menggunakan referal code : SEDA7713 atau bisa klik link disini ya!

DQLab Module: Data Visualization With Python Matplotlib for Beginner (Part 2)

Sekian dan terima kasih telah membaca!~

--

--