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:

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:

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:

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

Postingan terbaru

LIHAT SEMUA