Matplotlib: Membuat Bar Chart yang Rapi
Blog/Tips & Trik/Matplotlib: Membuat Bar Chart yang Rapi

Matplotlib: Membuat Bar Chart yang Rapi

BimaBima
·3 November 2026·10 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

Bikin bar chart di Matplotlib pakai plt.bar(x, y), lalu rapiin dengan nambah judul (plt.title), label sumbu (plt.xlabel, plt.ylabel), dan angka di atas tiap batang pakai plt.bar_label. Terakhir simpan ke file pakai plt.savefig dengan dpi tinggi biar tajam. Chart yang rapi bikin pembaca langsung nangkep insight tanpa nanya.

Bar chart Matplotlib yang rapi punya judul jelas, label sumbu, angka di atas tiap batang, dan warna yang nggak bikin pusing. Versi default-nya polos dan sering bikin pembaca nebak-nebak.

Bikin chart itu gampang, satu baris plt.bar udah jadi. Yang susah bikin chart yang orang lain langsung ngerti tanpa nanya. Beda tipisnya di detail perapian.

Di panduan ini kamu bakal belajar step by step dari chart mentah sampai chart yang layak masuk laporan bos. Semua pakai contoh data penjualan yang gampang diikutin.

Cara bikin bar chart dasar di Matplotlib

Bar chart paling dasar butuh dua hal: daftar kategori buat sumbu x, dan daftar nilai buat sumbu y. Panggil plt.bar(x, y), lalu plt.show buat nampilin. Ini fondasinya, tapi hasilnya masih polos tanpa judul atau label.

import matplotlib.pyplot as plt

produk = ['Beras', 'Gula', 'Minyak', 'Telur']
penjualan = [500, 300, 650, 420]

plt.bar(produk, penjualan)
plt.show()

Jalanin kode ini, kamu dapat empat batang polos. Nggak ada judul, sumbu y cuma angka tanpa konteks, dan nggak ada yang ngasih tau ini data apa. Ini titik awal yang bakal kita rapiin.

Gimana cara nambah judul dan label sumbu?

Pakai plt.title buat judul, plt.xlabel buat label sumbu horizontal, dan plt.ylabel buat sumbu vertikal. Tiga baris ini yang ngubah chart dari sekadar batang jadi grafik yang ngasih konteks. Tanpa label, pembaca nggak tau angka 500 itu artinya apa.

plt.bar(produk, penjualan)
plt.title('Penjualan per Produk, Kuartal 4')
plt.xlabel('Produk')
plt.ylabel('Total Penjualan (unit)')
plt.show()

Sekarang chart-nya udah cerita sendiri. Judul ngasih tau ini penjualan kuartal 4. Label sumbu y bilang satuannya unit. Pembaca nggak perlu nebak lagi.

Tips: bikin judul spesifik. Judul Penjualan doang lemah. Penjualan per Produk Kuartal 4 langsung ngasih waktu dan konteks.

Cara naruh angka di atas tiap batang

Simpan hasil plt.bar ke variabel, lalu panggil plt.bar_label(bars). Matplotlib otomatis naruh nilai tiap batang persis di atasnya. Ini bikin pembaca nggak perlu narik garis khayal ke sumbu y buat baca angka pastinya.

bars = plt.bar(produk, penjualan)
plt.bar_label(bars, fmt='%.0f')
plt.title('Penjualan per Produk, Kuartal 4')
plt.ylabel('Total Penjualan (unit)')
plt.show()

Parameter fmt ngatur format angkanya. Pakai %.0f buat tanpa desimal. Fitur bar_label ada mulai Matplotlib 3.4, jadi pastiin versimu udah cukup baru.

Angka di atas batang ini salah satu upgrade paling gede. Pembaca dapat nilai pasti plus gambaran perbandingan visual sekaligus.

Ngatur warna biar fokus ke angka penting

Kasih parameter color di plt.bar. Satu warna buat semua batang bikin chart kalem dan profesional. Tapi kalau kamu mau tonjolin satu produk, bikin semua batang abu-abu lalu ganti satu jadi warna mencolok. Mata pembaca langsung ketarik ke situ.

warna = ['#cccccc', '#cccccc', '#f97316', '#cccccc']
bars = plt.bar(produk, penjualan, color=warna)
plt.bar_label(bars, fmt='%.0f')
plt.title('Minyak Jadi Produk Terlaris Kuartal 4')
plt.ylabel('Total Penjualan (unit)')
plt.show()

Di sini Minyak dikasih warna oranye, sisanya abu-abu. Judulnya juga aku ubah jadi kalimat insight, bukan cuma deskripsi. Kombinasi warna plus judul yang tegas bikin pesan chart-nya nyampe dalam sekali lihat.

Studi kasus: laporan penjualan toko_berkah

Aku pakai data toko_berkah, UMKM sembako, yang jual 14 jenis produk. Bos minta grafik top penjualan buat rapat mingguan, dan versi pertamaku ditolak karena katanya berantakan dan susah dibaca.

Masalahnya klasik. 14 batang berdempetan, nama produk numpuk di sumbu x, dan nggak ada angka pasti. Bos harus nyipitin mata buat bandingin Beras sama Beras Merah.

Aku ganti ke horizontal bar chart pakai plt.barh, urutin dari terbesar ke terkecil, tambahin angka di ujung tiap batang. Hasilnya beda jauh. Yang tadinya ditolak, sekarang dipakai jadi template rapat tetap.

Insight yang akhirnya kelihatan: 3 produk teratas nyumbang 58% total penjualan dari 14 produk. Pola konsentrasi ini kekubur pas chart-nya masih berantakan, tapi langsung jelas begitu diurutin dan dikasih angka.

# Urutin dari terbesar biar kebaca
data = sorted(zip(penjualan, produk))
nilai = [d[0] for d in data]
nama = [d[1] for d in data]

bars = plt.barh(nama, nilai, color='#0891b2')
plt.bar_label(bars, fmt='%.0f')
plt.title('Top Penjualan Produk, Kuartal 4')
plt.xlabel('Total Penjualan (unit)')
plt.tight_layout()
plt.savefig('penjualan.png', dpi=150)

Cara simpan chart ke file yang tajam

Pakai plt.savefig dengan dpi minimal 150 buat laporan atau slide. Panggil plt.tight_layout dulu sebelum savefig biar nggak ada label yang kepotong. Buat kualitas cetak, simpan ke SVG atau PDF yang formatnya vektor dan nggak pecah pas di-zoom.

FormatCocok buatCatatan
PNG (dpi 150+)Slide, laporan, webPilihan default, tajam
SVGCetak, bisa di-edit ulangVektor, nggak pecah
PDFDokumen resmiVektor, ukuran presisi
JPGHindari buat chartTeks jadi buram

Kesalahan umum bikin bar chart

Pertama, lupa tight_layout terus heran kenapa label kepotong. Selalu panggil sebelum savefig. Atau pakai bbox_inches='tight' di savefig.

Kedua, nggak ngurutin batang. Chart yang batangnya acak susah dibandingin. Urutin dari besar ke kecil kecuali datamu memang punya urutan alami kayak bulan.

Ketiga, kebanyakan warna. Chart pelangi malah bikin bingung, bukan bagus. Pakai satu warna netral, sisihin warna mencolok buat highlight doang.

Keempat, simpan ke JPG. Kompresi JPG bikin garis dan teks buram di pinggir. Pakai PNG buat chart, selalu.

FAQ

Pertanyaan yang sering muncul soal bar chart di Matplotlib.

Lanjut kulik visualisasi

Ringkasannya: chart yang rapi itu soal judul spesifik, label sumbu jelas, angka di atas batang, dan warna yang fokus. Simpan ke PNG dpi tinggi biar tajam.

Perbedaan antara chart yang ditolak dan yang dipakai bos seringnya cuma 5 baris kode tambahan. Worth it banget.

Mau lanjut ke visualisasi yang lebih dinamis? Baca cara analisa data pakai ChatGPT Code Interpreter kalau kamu mau bikin chart tanpa ngoding. Buat referensi lengkap parameter, cek dokumentasi resmi Matplotlib. Pahami juga konsep DataFrame dan prinsip data visualization biar chart-mu makin nendang.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel terkait

Seaborn Pairplot: Cara Eksplorasi Data Cepat dengan Python (2026)
Tips & Trik
18 November 2026•9 menit baca

Seaborn Pairplot: Cara Eksplorasi Data Cepat dengan Python (2026)

Satu baris kode buat lihat hubungan semua kolom numerik sekaligus. Ini cara pakai seaborn pairplot buat eksplorasi data, lengkap dengan contoh dan cara bacanya.

BimaBima
Seaborn Heatmap: Visualisasi Matriks Korelasi (2026)
Tips & Trik
15 November 2026•10 menit baca

Seaborn Heatmap: Visualisasi Matriks Korelasi (2026)

Seaborn heatmap ngubah matriks korelasi jadi grid warna, jadi kamu bisa langsung lihat variabel mana yang saling terkait. Ini cara bikinnya dari df.corr() sampai atur warna dan angka.

BimaBima
Matplotlib Histogram: Cara Membuat dan Baca Distribusi Data di Python (2026)
Tips & Trik
6 November 2026•9 menit baca

Matplotlib Histogram: Cara Membuat dan Baca Distribusi Data di Python (2026)

Histogram bikin kamu lihat sebaran data dalam satu grafik. Ini cara bikinnya di Matplotlib pakai plt.hist(), dari kode paling dasar sampai atur bins dan label.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

© 2026 Ngulik Data. Semua hak dilindungi.

TAUTAN
BantuanHargaDatasetBlogAfiliasi
LEGAL
Syarat & KetentuanKebijakan Privasi
Ngulik Data
DatasetLeaderboardBlogStore