Visualisasi Data Dasar dengan Matplotlib
17 Sel • Python 3 (WebAssembly Kernel)Visualisasi Data Dasar dengan Matplotlib
Pernahkah Anda mencoba mempresentasikan tabel data yang berisi ribuan baris angka kepada atasan atau klien?
Sebagian besar orang akan kesulitan mencerna pola atau kesimpulan jika hanya melihat deretan angka mentah.
Pepatah kuno mengatakan: "Sebuah gambar bernilai seribu kata". Di dunia sains data, sebuah grafik yang tepat bernilai ribuan baris angka.
Visualisasi data memungkinkan kita:
- Menemukan Pola & Tren: Melihat apakah penjualan sedang naik atau turun dari bulan ke bulan.
- Mendeteksi Anomali / Outlier: Menemukan kesalahan data atau lonjakan transaksi yang tidak wajar dalam sekejap mata.
- Menyampaikan Cerita Data (Data Storytelling): Membantu orang lain memahami wawasan (insight) bisnis dengan mudah tanpa harus membaca rumus matematika.
Di ekosistem Python, Matplotlib adalah pustaka visualisasi data tingkat dasar yang paling matang dan menjadi fondasi bagi pustaka modern lainnya (seperti Seaborn). Matplotlib memberikan kita kendali penuh atas setiap elemen di kanvas—mulai dari warna garis, bentuk penanda titik, label sumbu, hingga tata letak grafik.
1. Memasang Pustaka Matplotlib
Pastikan pustaka Matplotlib sudah terpasang di komputer Anda sebelum memulai pembuatan grafik:
Collecting matplotlib
Downloading matplotlib-3.10.9-cp310-cp310-win_amd64.whl (8.2 MB)
---------------------------------------- 8.2/8.2 MB 4.7 MB/s eta 0:00:00
Requirement already satisfied: python-dateutil>=2.7 in c:\laragon\bin\python\python-3.10\lib\site-packages (from matplotlib) (2.9.0.post0)
Requirement already satisfied: numpy>=1.23 in c:\laragon\bin\python\python-3.10\lib\site-packages (from matplotlib) (2.2.6)
Collecting cycler>=0.10
Downloading cycler-0.12.1-py3-none-any.whl (8.3 kB)
Collecting contourpy>=1.0.1
Downloading contourpy-1.3.2-cp310-cp310-win_amd64.whl (221 kB)
-------------------------------------- 221.2/221.2 kB 4.5 MB/s eta 0:00:00
Requirement already satisfied: packaging>=20.0 in c:\laragon\bin\python\python-3.10\lib\site-packages (from matplotlib) (25.0)
Requirement already satisfied: pyparsing>=3 in c:\laragon\bin\python\python-3.10\lib\site-packages (from matplotlib) (3.3.2)
Collecting fonttools>=4.22.0
Downloading fonttools-4.65.0-cp310-cp310-win_amd64.whl (1.6 MB)
---------------------------------------- 1.6/1.6 MB 3.6 MB/s eta 0:00:00
Requirement already satisfied: pillow>=8 in c:\laragon\bin\python\python-3.10\lib\site-packages (from matplotlib) (12.2.0)
Collecting kiwisolver>=1.3.1
Downloading kiwisolver-1.5.1-cp310-cp310-win_amd64.whl (70 kB)
---------------------------------------- 70.6/70.6 kB 3.8 MB/s eta 0:00:00
Requirement already satisfied: six>=1.5 in c:\laragon\bin\python\python-3.10\lib\site-packages (from python-dateutil>=2.7->matplotlib) (1.17.0)
Installing collected packages: kiwisolver, fonttools, cycler, contourpy, matplotlib
Successfully installed contourpy-1.3.2 cycler-0.12.1 fonttools-4.65.0 kiwisolver-1.5.1 matplotlib-3.10.9
[notice] A new release of pip available: 22.2.2 -> 26.2.1
[notice] To update, run: python.exe -m pip install --upgrade pip2. Anatomi Grafik Matplotlib (Figure vs Axes)
Sebelum menggambar, penting memahami dua konsep utama di Matplotlib:
Figure(Kanvas): Papan gambar keseluruhan (jendela atau kertas kosong tempat grafik diletakkan).Axes(Bidang Koordinat): Grafik sesungguhnya yang memiliki sumbu X, sumbu Y, garis kisi (grid), dan judul.
Mari kita buat grafik garis sederhana pertama untuk melihat hubungan anatomi ini:
3. Line Plot: Memantau Tren Berdasarkan Waktu (Time Series)
Diagram garis (Line Plot) adalah pilihan terbaik ketika Anda ingin memantau pergerakan suatu nilai dari waktu ke waktu (harian, bulanan, atau tahunan).
Mari kita visualisasikan tren penjualan e-commerce dari dua produk berbeda sepanjang semester pertama:
4. Bar Plot: Membandingkan Nilai Antar Kategori
Jika data Anda berupa kategori diskrit (seperti nama divisi, jenis produk, atau nama kota), Diagram Batang (Bar Plot) jauh lebih tepat dibanding grafik garis karena data tidak memiliki kesinambungan waktu.
Tips profesional: Selalu tambahkan angka nilai (data labels) di atas setiap batang agar pembaca langsung tahu angka pastinya tanpa harus mengira-ngira ke sumbu Y.
5. Histogram: Melihat Distribusi dan Kepadatan Data
Histogram digunakan untuk melihat sebaran frekuensi dari suatu data angka kontinu. Misalnya, kita ingin tahu bagaimana sebaran skor ujian 200 siswa: apakah sebagian besar siswa dapat nilai sedang, atau condong banyak yang mendapat nilai rendah/tinggi?
6. Scatter Plot: Memeriksa Korelasi Hubungan 2 Variabel
Diagram Tebar (Scatter Plot) menampilkan titik-titik koordinat antara dua variabel numerik. Diagram ini sangat penting untuk menjawab pertanyaan hubungan kausalitas, misalnya:
"Apakah semakin besar biaya iklan digital yang dikeluarkan, jumlah pembeli yang datang juga meningkat sebanding?"
7. Subplots: Menyusun Beberapa Grafik Berdampingan
Sering kali kita perlu membandingkan dua sudut pandang data sekaligus dalam satu laporan tanpa membuat dua file terpisah. Gunakan fungsi plt.subplots(jumlah_baris, jumlah_kolom):
8. Menyimpan Hasil Visualisasi ke File Gambar (plt.savefig)
Setelah membuat grafik yang bagus, Anda tentu ingin memasukkannya ke dalam slide presentasi PowerPoint atau dokumen laporan Word. Anda bisa menyimpannya secara otomatis menggunakan method plt.savefig() dengan resolusi tinggi (dpi=300):
✓ Grafik berhasil disimpan sebagai 'grafik_penjualan_laptop.png'