Bar Chart atau diagram batang merupakan bentuk visualisasi yang digunakan untuk membandingkan data kategorikal. Hal ini serupa dengan diagram lingkaran atau pie chart yang juga digunakan utnuk membandingkan kategori data satu sama lain. Namun, diagram lingkaran lebih spesifik untuk melihat bagaiman satu kategori data dibandingkan dengan keseluruhan data yang ada. Diagram batang tidak cocok untuk hal tersebut. Kelebihan dari diagram batang adalah dapat menampilkan lebih banyak kategori data daripada diagram lingkaran.
Pada tulisan ini akan dibahas bagaimana menampilkan visualiasi data dengan Matplotlib dalam bentuk bar chart atau diagram batang.
Import Library
Kode program berikut ini digunakan untuk melakukan import library yang akan digunakan.
import matplotlib.pyplot as plt
import pandas as pd
Mengambil data
Data yang digunakan kali ini adalah data dari monster Pokemon. Setelah data diambil maka ditambahkan 1 kolom yang bernama Count. Kolom ini berisi angka 1 yang akan digunakan untuk menghitung nantinya.
df = pd.read_csv('https://raw.githubusercontent.com/Onestringlab/notebook/main/pokemon_data.csv')
df['Count'] = 1
df.head()
Menyiapkan data
Diagram batang yang akan dibuat adalah mencari jumlah Type 1 dari seluruh data monster Pokemon yang ada. Langkah pertama yang dilakukan adalah melalukan grouping pada berdasarkan data Type 1. Grouping dilakukan dengan menggunakan perintah group by. Penjelasan mengenai group by dapat dilihat pada Group by Pandas DataFrame Untuk Perhitungan Data. Setelah dilakukan grouping maka langkah berikutnya adalah diurutkan berdasarkan jumlah terkecil sampai terbesar. Berikut kode programnya.
data = df.groupby(['Type 1']).count().reset_index()
data.sort_values('Count', ascending=True, inplace=True)
data.head()
Membuat Bar Chart
Berikut kode program untuk membuat bar char atau diagram batang.
fig = plt.figure(figsize=(6,4))
ax = plt.axes()
ax.bar(data['Type 1'],data['Count'])
plt.xticks(rotation=90)
plt.show()
Memberi warna dan judul
Berikut ini cara memberi warna dan judul pada diagram batang.
fig = plt.figure(figsize=(6,4))
ax = plt.axes()
colors = ['#0000FF' for _ in range(len(data))]
colors[-1] = '#FF0000'
plt.ylabel('Jumlah')
plt.title('Pokemon Type 1')
ax.bar(data['Type 1'],data['Count'], color=colors)
plt.xticks(rotation=90)
plt.show()
Membuat Diagram Batang Multi Kategori
Pada bagian ini akan dibuat diagram batang yang memiliki multi kategori. Diagram batang yang akan dibuat adalah untuk mengetahui berapa jumlah monster legendary pada kategorical Type 1. Visualiasi ini akan ditampilkan dalam bentuk stack atau tumpukkan dan dalam bentuk batang yang terpisah.
Menyiapkan Data
Melakukan group by dengan 2 kategori.
data = df.groupby(['Type 1', 'Legendary']).count()[['Count']].reset_index()
data = data.set_index(['Type 1', 'Legendary']).Count
data.head()
Membuat Stacked Bar Chart
data.unstack().plot(kind = 'bar', stacked = True)
Membuat Unstacked Bar Chart
data.unstack().plot(kind = 'bar', stacked = False)
Kesimpulan
Proses melakukan visualisasi data dalam bentuk diagram batang dengan menggunakan Matplotlib dapat dikatakan sangat mudah. Namun, tentu saja cara yang sudah dijelaskan hanya merupakan salah satu dari sekian banyak cara yang disediakan oleh Matplotlib itu sendiri terkait diagram ini. Kunjungi tautan ini untuk mengetahui tema data science lainnya.