Visualisasi Dengan Pandas - Pie Chart

pandas-piechart

Pie Chart atau diagram lingkaran adalah salah satu jenis grafik dalam data visualisasi yang mudah dipahami. Pie chart digunakan untuk menunjukkan proporsi atau perbandingan komposisi data-data kategorikal. Setiap bagian dari pie chart mewakili persentase atau proporsi relatif dari keseluruhan, sehingga total dari semua bagian tersebut membentuk 100%.

Pandas DataFrame menyediakan fungsi yang cukup mudah digunakan untuk menampilkan pie chart. Fungsi plot atau plot.pie disediakan oleh Pandas untuk mempermudah dalam menampilkan pie chart.

 

Pandas Pie Chart

Sebelum kita menggunakan fungsi plot pada Pandas DataFrame, kita harus mengimport paket-paket yang dibutuhkan

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

 

Dataset yang akan kita gunakan adalah dataset buatan yang berisi data jumlah pegawai untuk setiap departemen pada sebuah perusahaan

df_hr = pd.DataFrame([('Human Resources', 63),
                      ('R&D', 611),
                      ('Sales', 446),
                      ('Sofware Engineering', 681)
                     ],
                     columns=('department', 'total_emp')
                    )

 

DataFrame df_hr memiliki 2 field yaitu, department dan total_emp

df_hr

pandas pie chart

 

Untuk menampilkan pie chart kita dapat menggunakan fungsi plot dengan parameter kind = 'pie'

df_hr.plot(kind='pie', x='department', y='total_emp')
pandas pie chart

 

Pandas DataFrame juga menyediakan fungsi plot.pie untuk menampilkan pie chart

df_hr.plot.pie(x='department', y='total_emp')
pandas pie chart

 

Pie Chart Dalam Persentase

Untuk menampilkan nilai dalam bentuk persentase, kita dapat menggunakan parameter autopct. Nilai akan berubah ke dalam bentuk persentase secara otomatis, sesuai format yang ditentukan dalam parameter tersebut.

Misalnya, untuk menampilkan satu digit desimal di belakang koma, gunakan autopct='%1.1f%%' , untuk dua digit di belakang koma, gunakan autopct='%1.2f%%'

df_hr.plot.pie(x='department', y='total_emp', autopct='%1.0f%%')
pandas pie chart

 

Mengatur Warna Dalam Pandas Pie Chart

Ada setidaknya dua cara yang dapat dilakukan untuk mengubah warna chart, yang pertama kita bisa menggunakan parameter colormap atau cmap.

Daftar colormap yang dapat digunakan dapat dilihat di sini : https://matplotlib.org/stable/users/explain/colors/colormaps.html

df_hr.plot.pie(x='department', y='total_emp', autopct='%1.0f%%', cmap='Blues')
pandas pie chart

 

Yang kedua, kita dapat mendefinisikan warna-warna untuk setiap 'potongan' pie. Definisi warna berbentuk list yang urutannya sesuai dengan komponen yang ditampilkan.Yang kedua, kita dapat mendefinisikan warna-warna untuk setiap 'potongan' pie. Definisi warna berbentuk list yang urutannya sesuai dengan komponen yang ditampilkan.

colors = ['lightblue', 'silver', 'grey', 'steelblue']
df_hr.plot.pie(x='department', y='total_emp', autopct='%1.0f%%', colors=colors)
pandas pie chart

 

Menampilkan Label Komponen (Legends) Dalam Pandas Pie Chart

Untuk menampilkan nama komponen dalam pie chart, kita harus mendefinisikan parameter label dengan list dari komponen yang ditampilkan

colors = ['lightblue', 'silver', 'grey', 'steelblue']
labels = ['Human Resources', 'R&D', 'Sales', 'Sofware Engineering']
df_hr.plot.pie(x='department', y='total_emp', autopct='%1.0f%%', colors=colors, labels=labels)
pandas pie chart

 

Cara lain adalah dengan menggunakan nilai dari Pandas DataFrame

colors = ['lightblue', 'silver', 'grey', 'steelblue']
labels = df_hr['department'].values.tolist()
df_hr.plot.pie(x='department', y='total_emp', autopct='%1.0f%%', colors=colors, labels=labels)
pandas pie chart

 

Jika legend tidak diperlukan, maka legend dalam pie chart dapat dihilangkan dengan memberi nilai parameter legend dengan False

colors = ['lightblue', 'silver', 'grey', 'steelblue']
labels = df_hr['department'].values.tolist()
df_hr.plot.pie(x='department', y='total_emp', autopct='%1.0f%%', colors=colors, labels=labels, legend=False, ylabel='')
pandas pie chart

 

Memberi Judul Pada Pandas Pie Chart

Untuk memberikan judul pada pie chart, parameter title dapat diberi nilai yang sesuai.

colors = ['lightblue', 'silver', 'grey', 'steelblue']
labels = df_hr['department'].values.tolist()
df_hr.plot.pie(x='department', y='total_emp',
               autopct='%1.0f%%',
               colors=colors,
               labels=labels,
               legend=False,
               ylabel='',
               title='Komposisi Jumlah Karyawan')
pandas pie chart

 

Efek Explode

Efek explode dapat memberikan kesan untuk fokus pada satu atau lebih komponen. Efek ini memecah komponen sesuai yang diinginkan. Untuk memberikan efek ini, nilai explode dapat diberikan lebih besar dari 0.

colors = ['lightblue', 'silver', 'grey', 'steelblue']
labels = df_hr['department'].values.tolist()
explodes =(0, 0.1, 0, 0)
df_hr.plot.pie(x='department', y='total_emp',
               autopct='%1.0f%%',
               colors=colors,
               labels=labels,
               legend=False,
               ylabel='',
               title='Komposisi Jumlah Karyawan',
               explode=explodes)
pandas oie chart

 

Memutar Pie Chart

Pie chart dapat diputar dan diatur derajat putarannya sesuai keinginan. Hal ini untuk memberikan pengaturan sehingga pie chart tampak sesuai yang diharapkan. Untuk memutar pie chart, parameter startangle diberi nilai dalam derajat

colors = ['lightblue', 'silver', 'grey', 'steelblue']
labels = df_hr['department'].values.tolist()
explodes =(0, 0.1, 0, 0)
df_hr.plot.pie(x='department', y='total_emp',
               autopct='%1.0f%%',
               colors=colors,
               labels=labels,
               legend=False,
               ylabel='',
               title='Komposisi Jumlah Karyawan',
               explode=explodes,
               startangle=60)
pandas pie chart

 

Efek Bayangan

Efek bayangan menambahkan dimensi ekstra pada diagram lingkaran kita, untuk ini cukup beri nilai parameter shadow dengan True

colors = ['lightblue', 'silver', 'grey', 'steelblue']
labels = df_hr['department'].values.tolist()
explodes =(0, 0.1, 0, 0)
df_hr.plot.pie(x='department', y='total_emp',
               autopct='%1.0f%%',
               colors=colors,
               labels=labels,
               legend=False,
               ylabel='',
               title='Komposisi Jumlah Karyawan',
               explode=explodes,
               startangle=60,
               shadow=True)
pandas pie chart

 

Ukuran Pie Chart

Parameter figsize dapat digunakan untuk merubah ukuran pie chart sesuai dengan yang diharapkan. Nilai yang diberikan dalam inchi. Misalkan figsize=(6,3), berarti lebar 6 inchi dan tinggi 3 inchi. Biasanya lebar dan tinggi diberi nilai yang sama, supaya bentuk pie chart terlihat proporsional.

colors = ['lightblue', 'silver', 'grey', 'steelblue']
labels = df_hr['department'].values.tolist()

df_hr.plot.pie(x='department', y='total_emp',
               autopct='%1.0f%%',
               colors=colors,
               labels=labels,
               legend=False,
               ylabel='',
               title='Komposisi Jumlah Karyawan',
               startangle=60,
               figsize=(8,8))
pandas pie chart

 

Wrapping Up

Pie Chart atau diagram lingkaran merupakan salah satu bentuk grafik yang memudahkan dalam menganalisis data kategori. Pandas yang telah terintegrasi dengan matplotlib memberikan kemudahan dalam menampilkan DataFrame ke dalam bentuk grafik sesuai yang diinginkan.