Cara menggunakan python gauge chart matplotlib

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:

Cara menggunakan python gauge chart matplotlib

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

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()
0, 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

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()
1. 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()

Baca Juga: Mengatur Warna Scatter Plot Berdasarkan Kategori di Python

Output:

Cara menggunakan python gauge chart matplotlib

Dapat dilihat bahwa hampir semua kodenya sama dengan pembuatan bar plot vertikal kecuali method yang digunakan saja, yaitu

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()
1.

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()

Baca Juga: 5 Jenis Visualisasi Data Populer di Python dengan Matplotlib

Output:

Cara menggunakan python gauge chart matplotlib

Pada kode di atas, kita memiliki 3 data yaitu prodi,

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()
4, dan
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()
5. Untuk membuat grouped bar plot kita menggunakan cara explicit yakni dengan mendefinisikan figure dan axes.

kita perlu mendefinisikan

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()
6 atau lebar dari bar untuk tiap kategori dan array sejumlah prodi yang ada, dalam hal ini kita definisikan objek array pada variabel
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()
8.

Selanjutnya, kita membutuhkan dua bar() yang kita simpan pada variabel

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()
0 untuk merepresentasikan jumlah mahasiswa (laki-laki) dan
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()
1 untuk merepresentasikan jumlah mahasiswi (perempuan).