Bar plot atau bar chart adalah jenis plot yang direpresentasikan dengan bar atau batang, dimana panjang bar adalah representasi dari ukuran sebuah fitur atau variabel. Bar plot biasanya merepresentasikan jumlah data dari suatu kategori tertentu.
Disini kita akan belajar cara membuat bar plot dengan Matplotlib, termasuk diantaranya membuat horizontal bar plot dan grouped bar plot.
Membuat Bar Plot dengan Matplotlib
Misalnya kita memiliki data kategori yaitu prodi
yang berisi nama-nama program studi dan data numerik jumlah_mhs
yang berisi jumlah mahasiswa. Kita ingin membuat bar plot yang menampilkan jumlah mahasiswa untuk tiap program studi. Perhatikan kode berikut.
import matplotlib.pyplot as plt
%matplotlib inline
prodi = ['Matematika', 'Statistika', 'Biologi', 'Kimia', 'Teknik Informatika', 'Fisika']
jumlah_mhs = [108, 134, 167, 155, 120, 97]
plt.figure(figsize=(12,7))
plt.bar(prodi, jumlah_mhs, color='lightcoral')
plt.title('Jumlah Mahasiswa Per Program Studi', size=16)
plt.ylabel('Jumlah Mahasiswa', size=14)
plt.xticks(size=12)
plt.yticks(size=12)
plt.show()
Baca Juga: Membuat Line Plot dengan Matplotlib Python
Output:
![contoh bar plot matplotlib](https://ilmudatapy.com/wp-content/uploads/2021/02/barplot-1.png)
Untuk membuat bar plot, kita dapat menggunakan method bar()
dari Matplotlib yang diberi argumen berupa data yang akan ditempatkan pada x-axis dan y-axis. Dalam contoh ini, prodi
akan dijadikan data pada x-axis, sedangkan jumlah_mhs
dijadikan data pada y-axis.
Parameter color
dapat ditambahkan sebagai argumen pada method bar()
untuk mengatur warna bar. Kita juga dapat mempercantik plot dengan menambahkan judul dengan plt.title()
, serta mengatur aspek-aspek lainnya seperti xlabel, ylabel, xticks, yticks, dan lain sebagainya.
Horizontal Bar Plot
Jika contoh sebelumnya adalah membuat bar plot vertikal , sekarang kita akan membuat bar plot horizontal.
Pembuatan bar plot horizontal tidak jauh berbeda dengan bar plot vertikal. Yang membedakan tentunya hanya method yang digunakan saja. Untuk membuat bar plot horizontal kita menggunakan method barh()
. Perhatikan kode berikut.
import matplotlib.pyplot as plt
%matplotlib inline
prodi = ['Matematika', 'Statistika', 'Biologi', 'Kimia', 'Teknik Informatika', 'Fisika']
jumlah_mhs = [108, 134, 167, 155, 120, 97]
plt.figure(figsize=(12,7))
plt.barh(prodi, jumlah_mhs, color='yellowgreen')
plt.title('Jumlah Mahasiswa Per Program Studi', size=16)
plt.xlabel('Jumlah Mahasiswa', size=14)
plt.xticks(size=12)
plt.yticks(size=12)
plt.show()
![](https://ilmudatapy.com/wp-content/uploads/2021/02/barplot-2.png)
Dapat dilihat bahwa hampir semua kodenya sama dengan pembuatan bar plot vertikal kecuali method yang digunakan saja, yaitu barh()
.
Grouped Bar Plot
Terkadang kita perlu membuat bar plot yang dikelompokkan berdasarkan kategori tertentu. Misalnya disini kita ingin memvisualisasikan jumlah mahasiswa laki-laki dan perempuan untuk tiap program studi. Perhatikan kode berikut.
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
prodi = ['Matematika', 'Statistika', 'Biologi', 'Kimia', 'Teknik Informatika', 'Fisika']
mahasiswa = [56, 70, 76, 60, 104, 74]
mahasiswi = [78, 66, 88, 79, 46, 62]
x = np.arange(len(prodi))
width = 0.35
fig, ax = plt.subplots(figsize=(12, 7))
mhsa = ax.bar(x - width/2, mahasiswa, width, label='Laki-laki', color='steelblue')
mhsi = ax.bar(x + width/2, mahasiswi, width, label='Perempuan', color='lightcoral')
ax.set_title('Jumlah Mahasiswa/i Per Program Studi', size=16)
ax.set_ylabel('Jumlah Mahasiswa', size=14)
ax.set_xticks(x)
ax.set_xticklabels(prodi, size=12)
ax.legend(fontsize=14)
plt.show()
![contoh grouped bar plot dengan matplotlib](https://ilmudatapy.com/wp-content/uploads/2021/02/barplot-3.png)
Pada kode di atas, kita memiliki 3 data yaitu prodi
, mahasiswa
, dan mahasiswi
. Untuk membuat grouped bar plot kita menggunakan cara explicit yakni dengan mendefinisikan figure dan axes.
kita perlu mendefinisikan width
atau lebar dari bar untuk tiap kategori dan array sejumlah prodi
yang ada, dalam hal ini kita definisikan objek array pada variabel x
.
Selanjutnya, kita membutuhkan dua bar()
yang kita simpan pada variabel mhsa
untuk merepresentasikan jumlah mahasiswa (laki-laki) dan mhsi
untuk merepresentasikan jumlah mahasiswi (perempuan).
Kita juga dapat mengatur aspek-aspek lainnya pada axes.
Semoga bermanfaat!
Jika Anda yang sedang belajar data science atau mengolah data dengan bahasa pemrograman Python namun masih suka bingung menulis kode Python-nya, kami telah menyusun Paket E-modul Data Science dengan Python yang didesain khusus untuk pemula dengan penjelasan bahasa Indonesia yang lengkap untuk setiap blok kode-nya. Dapatkan sekarang juga dengan klik di sini!