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
Untuk menampilkan pie chart kita dapat menggunakan fungsi plot dengan parameter kind = 'pie'
df_hr.plot(kind='pie', x='department', y='total_emp')
Pandas DataFrame juga menyediakan fungsi plot.pie untuk menampilkan pie chart
df_hr.plot.pie(x='department', y='total_emp')
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%%')
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')
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)
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)
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)
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='')
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')
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)
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)
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)
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))
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.