
Matplotlib merupakan pustaka Python paling populer untuk membuat berbagai macam visualisasi. Library ini menyediakan berbagai fungsi dan object yang memungkinkan kita untuk melakukan kustomisasi terhadap grafik yang kita buat. Banyak library yang dibangun di atas matplotlib, seperti Seaborn, Bokeh, Pandas, dll.
Salah satu jenis chart atau grafik yang paling banyak digunakan adalah bar chart, karena relatif sederhana dan mudah difahami.
Bar chart atau diagram batang pada umumnya digunakan untuk :
Dalam tutorial ini, kita akan mempelajari cara membuat diagram batang menggunakan matplotlib.
Sedangkan tutorial membuat bar chart menggunakan Pandas dapat dibaca pada artikel : Visualisasi Dengan Pandas – Bar Chart.
Package yang akan kita gunakan adalah matplotlib.pyplot.
import matplotlib.pyplot as pltBar Chart dapat digunakan untuk menampilkan perbandingan nilai antar kategori. Sebagai contoh kita akan menampilkan perbandingan nilai penjualan berdasarkan kategori produk.
produk = ['Produk 1', 'Produk 2', 'Produk 3']
penjualan = [332, 594, 108]
plt.bar(produk, penjualan) # Create the bar plot
plt.xlabel('Nama Produk')
plt.ylabel('Total Penjualan (ribu pcs)')
plt.title('Penjualan per Produk')
plt.show()
Pada contoh dibawah ini, Bar Chart kita gunakan untuk menampilkan ranking penjualan berdasarkan produk.
produk = ['Produk 1', 'Produk 2', 'Produk 3']
penjualan = [332, 594, 108]
plt.bar(produk, penjualan) # Create the bar plot
plt.xlabel('Nama Produk')
plt.ylabel('Total Penjualan (ribu pcs)')
plt.title('Penjualan per Produk')
plt.show()
Untuk menambahkan label pada barchart, kita dapat menggunakan fungsi bar_label() pada objek axes, dengan parameter barchart_container.
#Data
produk = ['Produk 1', 'Produk 2', 'Produk 3']
penjualan = [332, 594, 108] Untuk mendapatkan object axes, kita panggil fungsi plt.subplots(), sedangkan objek barchart_container bisa kita dapatkan dari return value fungsi bar().
Selanjutnya barchart_container tersebut kita gunakan sebagai parameter pada fungsi ax.bar_label().
fig, ax = plt.subplots() #simpan object Axes
bc = ax.bar(produk, penjualan) # Buat bar chart, simpan object barchart_container
ax.bar_label(bc) #gunakan variabel tsb sebagai parameter fungsi bar_labelBerbeda dengan contoh sebelumnya, pada contoh ini kita akan lakukan setting label sumbu x, sumbu y, dan judul melalui fungsi set pada object Axes.
Selain itu kita juga akan set batas atas y ke 650 untuk memberi space di atas label, dengan parameter ylim.
ax.set(xlabel='Nama Produk',
ylabel='Total Penjualan (ribu pcs)',
title='Penjualan per Produk',
ylim=(0,650))
plt.show()
Kita dapat menyesuaikan letak label dengan menggunakan parameter label_type. Sedangkan format font dapat diatur dengan parameter color, fontweight, ataupun parameter lain seperti parameter fmt.
produk = ['Produk 1', 'Produk 2', 'Produk 3']
penjualan = [332, 594, 108]
fig, ax = plt.subplots()
bc = ax.bar(produk, penjualan)
#gunakan parameter untuk kustomisasi
ax.bar_label(bc, label_type='center', color='w', fontweight='bold')
ax.set(xlabel='Nama Produk',
ylabel='Total Penjualan (ribu pcs)',
title='Penjualan per Produk',
ylim=(0,650))
plt.show()
Untuk membuat horizontal barchart, kita gunakan fungsi barh(). Kita gunakan parameter padding dalam fungsi bar_label untuk memberi jarak antara tepi batang dan label.
produk = ['Produk 3', 'Produk 1', 'Produk 2']
penjualan = [108, 332, 594]
fig, ax = plt.subplots()
bc = ax.barh(produk, penjualan)
ax.bar_label(bc, color='b', fontweight='bold', padding=3)
ax.set(ylabel='Nama Produk',
xlabel='Total Penjualan (ribu pcs)',
title='Penjualan per Produk',
xlim=(0,650))
plt.show()
Kadang kala kita perlu memberikan penekanan (highlight) kepada suatu nilai tertentu, misalnya nilai minimum atau maksimum.
Kita dapat menggunakan warna yang berbeda untuk memberikan penekanan tersebut.
Kita dapat mengubah salah satu batang pada diagram, dengan menggunakan fungsi set_color().
produk = ['Produk 1', 'Produk 2', 'Produk 3', 'Produk 4' ]
penjualan = [332, 594, 108, 424]
fig, ax = plt.subplots()
bcont = ax.barh(produk, penjualan)
btext = ax.bar_label(bc, fontsize=8, padding=3)
bcont[2].set_color('r') #set warna batang ke 3 = red
btext[2].set_color('b') #set warna label ke 3 = blue
ax.set(ylabel='Nama Produk',
xlabel='Total Penjualan (ribu pcs)',
title='Penjualan per Produk',
xlim=(0,650))
plt.show()
Bar chart alias diagram batang merupakan salah satu jenis diagram yang paling banyak digunakan karena kesederhanaan dan kemudahannya. Matplotlib menyediakan fungsi dan object yang dapat kita kustomisasi sesuai dengan kebutuhan kita.
Simak juga tutorial-tutorial sebelumnya tentang visualisasi data