Data Visualization I in Python
Data Visualization I in Python
Visualization
in Python
- Abdullah Ghifari -
Halo!
Perkenalkan saya Abdullah Ghifari.
Sebelumnya
Data Scientist
at Telecommunication Company
Abdullah Ghifari
https://www.linkedin.com/in/abdullah-ghifari/
Pengenalan Data Visualization
1 (Apa dan Mengapa)
3
Pengenalan pada Matplotlib dan Data Visualization
Seaborn
Data Visualization
dibutuhkan untuk
melakukan dua tahap ini
Tipe-tipe
Visualisasi
dan
Kegunaannya
Membandingkan Angka
Antar Objek Kualitatif
Bar Chart
Kapan digunakan
1. Ingin membandingkan statistical summary dari objek
kualitatif (Jumlah, Rata-rata, Median, …)
2. Jumlah objek kualitatif kurang dari 10 kategori
3. Menampilkan skala perbedaan (kuantitatif) antara
kategori satu dengan kategori lainnya
Insights umum
1. Total penjualan pada kategori X meningkat hingga
5x lipat dari bulan sebelumnya
2. Pandemi memberikan dampak penurunan drastis dari
rata-rata pengguna jalan X sebesar 60% dari dua tahun
yang lalu
Membandingkan Angka
Antar Objek Satuan Waktu
Line Chart
Kapan digunakan
1. Ingin membandingkan statistical summary dari objek
secara waktu-ke-waktu (Jumlah, Rata-rata, Median, …)
2. Menampilkan skala perbedaan (kuantitatif) antara
kategori satu dengan kategori lainnya dari satuan waktu
3. Menampilkan pola pergerakkan data berdasarkan
kejadian, seperti efek musiman, efek hari libur, dll
Insights umum
1. Setelah hampir 1 dekade memimpin nilai jual, harga
saham Google tersusul oleh Amazon di Q1 2017
2. Pola penurunan transaksi penjualan terjadi pada H-60
sampai H+10 lebaran, memberikan dampak penurunan
revenue 15% pada transaksi rata-rata dalam setahun
Membandingkan Proporsi
Antar Objek Kualitatif
Pie Chart
Kapan digunakan
1. Ingin membandingkan objek mana yang memiliki
porsi/peran lebih besar dari objek kualitatif lainnya
secara kuantitatif (persentase, atau angka)
2. Menarasikan power dalam objek yang memiliki porsi
lebih besar
3. Membandingkan proporsi pada kurang dari 5 objek
kualitatif yang memiliki derajat yang sama
Insights umum
1. Jumlah penumpang berjenis laki-laki lebih banyak dari
perempuan, dengan perbandingan 61.6% dan 38.4%
2. Jumlah persentase transaksi barang elektronik,
peralatan rumah, dan hobi, masih lebih rendah daripada
transaksi virtual seperti pulsa, listrik, atau paket data.
Mencari Distribusi Statistik
dari Sebuah Objek
Histogram
Kapan digunakan
1. Ingin mengetahui penyebaran kuantitatif pada
kelompok kuantitatif tertentu (apakah persebaran data
banyak menumpuk di data yang memiliki skala
kuantitatif kecil, sedang, atau besar)
2. Ingin mengelompokkan data kuantitatif menggunakan
jarak antar data (kecil, sedang, besar)
Insights umum
1. Peserta webinar kali ini didominasi oleh kaum generasi
Z, pada rentang 20 – 30 tahun, sedangkan yang paling
sedikit berada pada kelompok 50 – 60 tahun.
2. Histogram data transaksi tahun ini cekung ke kiri, maka
pengunjung tahun ini cenderung belanja barang dengan
nominal harga yang besar (diatas median harga)
Membandingkan Distribusi Statistik
dari Satu/Banyak Objek
Boxplot
Kapan digunakan
1. Ingin mengetahui penyebaran kuantitatif secara detail
(Minimum, Q1, Q2, Q3, Max), serta membandingkannya
dengan objek/kategori lain
2. Ingin mencari ada tidaknya data pencilan/outlier
Insights umum
1. Secara kuantitatif, nominal transaksi bulan April sangat
fluktuatif (nilai max dan min nya lebih tinggi dari yang
lain), sedangkan bulan September lebih stabil (nilai Q1,
Q2, dan Q3 saling dekat)
2. Terdapat outlier pada data pendapatan generasi Z di
kota X, sebesar 3% diantaranya memiliki penghasilan
lebih dari 1 miliar pertahun
Mencari Korelasi/Hubungan
Dari Dua Objek
Scatterplot
Kapan digunakan
1. Ingin mengetahui penyebaran kuantitatif dari dua objek
kuantitatif, disebut juga dengan mencari plot
korelasi/hubungan antar dua objek, apakah memiliki
korelasi positif, non-korelasi atau negatif.
Insights umum
1. Variabel tip dan total_bill memiliki korelasi positif
(semakin besar tip, maka total_bill juga semakin
meningkat)
2. Dalam segi transaksi, pelanggan cenderung transaksi
lebih banyak (dari segi tip dan total_bill) pada makan
malam/dinner dibandingkan makan siang/lunch
Menampilkan Korelasi/Hubungan
melalui Color Grading System
Heatmap
Kapan digunakan
1. Ingin mengetahui persebaran data antar dua objek yang
disandingkan (korelasi), melalui perbedaan warna
(color-grading), dimana misal semakin gelap warna
maka semakin besar jumlah datanya, begitupun
sebaliknya
2. Scattterplot dengan gaya, bisa digunakan untuk cohort
analysis
Insights umum
1. Suhu rata-rata bumi setiap bulan dan tahunnya selalu
meningkat dari 1949 hingga 1960, dimana puncak suhu
terpanas terjadi pada periode Juli – Agustus di tahun
1960
2. Pada konteks cohort analysis, pengguna mulai churn
rata-rata pada 2 bulan dari pertama kali pendaftaran
akun
Pengaturan pada Grafik
Agar Memenangkan Emosi Pengguna
Manajemen Warna pada Grafik
Teori Psikologi Warna
Elliot dan Maier (2012)* menyarankan bahwa warna
memengaruhi fungsi psikologis kita. Teori ini dikenal
sebagai teori warna dalam konteks. Titik sentral dari teori
ini adalah bahwa warna membawa makna dan dapat
berdampak langsung pada proses kognitif kita, termasuk
perhatian kita
https://seaborn.pydata.org/tutorial/color_palettes.html *) Elliot, A. J., and Maier, M. A. (2012), Color-in-context theory. Adv. Exp. Soc. Psychol. 45, 61–125.
**) Thomas Sanocki, Noah Sulman (2011), Color relations increase the capacity of visual short-term memory. Perception, volume 40, 635–648
Menurutmu, Bagaimana?
Pilih A atau B? Kenapa?
A B
Menurutmu, Bagaimana?
Pilih A atau B? Kenapa?
A B
Menurutmu, Bagaimana?
Pilih A atau B? Kenapa?
A B
Visualisasi
Dasar
Saatnya Praktik!
About the dataset that we’ll use…
● We’ll use the `mpg` dataset supplied in your `tidyverse` installation
● Fuel economy data from 1999 to 2008 for 38 popular models of cars
● Description:
○ “This dataset contains a subset of the fuel economy data that the EPA
makes available on http://fueleconomy.gov. “
○ It contains only models which had a new release every year between 1999
and 2008 – Popular US models!
Getting Started
•Intuitively, higher cc cars are less
efficient
•So, let’s get started by making a
scatterplot of displacement against city
fuel consumption
• Data: mpg
• X-axis: displ
• Y-axis: cty
• Scatterplot: sns.scatterplot()
Getting Started - Matplotlib Version
PRESENT FUTURE
Library yang populer dan lazim Pelajari fungsi-fungsi umum Popularitas terus berkembang Pelajari elemen-elemen plotly
digunakan. sebagai pelengkap seaborn. pesat, keahlian membuat untuk melakukan hal-hal custom
dashboard dengan dash mulai pada plotly.express
dicari.
Fungsionalitas Dibuat untuk plot-plot dasar, Terdapat banyak tipe plot, sangat
berbasis fitur dan sintaks dari baik terutama untuk statistika.
MATLAB
Dataframe Terintegrasi baik dengan Numpy dan Sangat baik digunakan dengan
Pandas Pandas
matplotlib seaborn
Anatomi Matplotlib
Matplotlib actually create this
figure with python code!
Hands-On
Congrats for taking your first step in Python!