Kurva garis yang dihasilkan plot hanya satu pilihan di antara banyak bentuk diagram, dan pemilihan bentuk itu menentukan apakah data terbaca atau justru tertutup. Topik ini membahas diagram batang untuk perbandingan kategori, histogram untuk distribusi, diagram sebar untuk hubungan dua variabel, dan diagram batang tegak untuk data diskret. Setelah topik ini, jenis diagram dapat dipilih berdasarkan bentuk data yang tersedia dan pertanyaan yang ingin dijawab oleh figur.
Memilih diagram sesuai bentuk data#
Setiap jenis diagram menjawab satu jenis pertanyaan. Perbandingan antar kategori dibaca dari panjang batang, distribusi nilai dibaca dari tinggi kolom histogram, hubungan dua variabel dibaca dari pola sebaran titik, dan deret diskret dibaca dari tinggi batang tegak pada tiap indeks. Tabel berikut merangkum padanan yang lazim antara bentuk data dan diagram yang tepat.
| Bentuk data | Diagram yang tepat | Fungsi |
|---|---|---|
| Perbandingan beberapa kategori | Diagram batang | bar |
| Distribusi satu variabel | Histogram | hist, histogram |
| Hubungan dua variabel kontinu | Diagram sebar | scatter |
| Deret diskret berindeks | Batang tegak per indeks | stem |
Pemilihan yang tepat juga menyangkut jumlah data. Kategori bekerja baik sampai sekitar sepuluh batang, sedangkan ribuan titik sebar lebih informatif daripada ribuan batang. Kesalahan pemilihan umumnya bukan soal sintaks, melainkan soal memaksakan satu bentuk pada data yang bentuknya berbeda, dan contoh kasusnya dibahas pada bagian Kesalahan umum.
Diagram batang untuk perbandingan kategori#
Panggilan bar(x, y) menggambar batang tegak pada tiap posisi x dengan tinggi y, dan lebar batang dihitung otomatis agar batang berdampingan tanpa bertumpuk. Batang paling informatif ketika x memuat sedikit kategori dan y memuat satu nilai ringkasan per kategori, misalnya rata-rata. Skrip berikut membandingkan rata-rata nilai ujian pada empat mata kuliah.
% batang-nilai.m: diagram batang rata-rata nilai per mata kuliah
mataKuliah = [1 2 3 4];
rataRata = [72 80 68 84];
bar(mataKuliah, rataRata);
xlabel('Mata kuliah');
ylabel('Rata-rata nilai');
title('Rata-rata nilai ujian per mata kuliah');
grid on;
print('-dsvg', 'batang-nilai.svg');Empat batang hasil skrip itu tampak pada figur berikut.
Beberapa seri pada kategori yang sama digambar dengan satu matriks sebagai argumen kedua. Matriks berukuran banyak kategori kali banyak seri menghasilkan batang berkelompok (grouped bar), yakni batang tiap seri berdampingan dalam satu kelompok kategori. Skrip berikut membandingkan dua kelompok belajar pada tiga mata kuliah.
% batang-berkelompok.m: diagram batang berkelompok untuk dua kelompok belajar
mataKuliah = [1 2 3];
kelompokA = [70 82 75];
kelompokB = [64 77 90];
bar(mataKuliah, [kelompokA' kelompokB']);
xlabel('Mata kuliah');
ylabel('Rata-rata nilai');
title('Rata-rata nilai per kelompok belajar');
legend('Kelompok A', 'Kelompok B');
grid on;
print('-dsvg', 'batang-berkelompok.svg');Enam batang dalam tiga kelompok hasil skrip itu tampak sebagai berikut.
Nilai x pada contoh berupa angka 1 sampai 4 karena label teks pada sumbu kategori belum dibahas. Makna tiap angka bergantung pada konteks data, dan angka kecil sengaja dipilih agar posisi batang mudah dihitung ulang. Label teks kategori dapat dipasang kemudian melalui xticklabels setelah diagram digambar.
Histogram untuk distribusi#
Histogram membagi rentang nilai ke dalam sejumlah interval yang disebut bin, lalu menghitung banyaknya data yang jatuh pada tiap interval, dan menggambarkan hasil hitungan sebagai batang. Bentuk yang muncul memperlihatkan pusat data, sebarannya, dan kemiringannya, sehingga histogram menjawab pertanyaan tentang distribusi yang tidak dijawab oleh nilai rata-rata saja. Skrip berikut membagi nilai ujian dua puluh siswa ke dalam enam interval dengan fungsi hist.
% histogram-nilai.m: distribusi nilai ujian dengan hist
nilai = [62 70 68 75 82 79 88 91 85 77 74 66 73 81 86 90 69 71 78 84];
hist(nilai, 6);
xlabel('Rentang nilai');
ylabel('Banyak siswa');
title('Distribusi nilai ujian dua puluh siswa');
grid on;
print('-dsvg', 'histogram-nilai.svg');Distribusi dua puluh nilai hasil skrip itu tampak pada figur berikut.
% tidak-dijalankan
% Padanan MATLAB modern: fungsi histogram dengan tepi interval eksplisit
nilai = [62 70 68 75 82 79 88 91 85 77 74 66 73 81 86 90 69 71 78 84];
histogram(nilai, 'BinMethod', 'integers');
xlabel('Rentang nilai');
ylabel('Banyak siswa');
title('Distribusi nilai ujian');Perbedaan penting kedua fungsi ada pada pengaturan interval. Fungsi hist menerima jumlah interval atau pusat interval, sedangkan histogram mengelola tepi interval melalui properti seperti BinMethod dan BinEdges sehingga interval dapat dikendalikan lebih presisi. Hasil gambar keduanya berwujud sama, dan pengetahuan tentang hist tetap berguna ketika kode harus berjalan di kedua implementasi.
Diagram sebar untuk hubungan dua variabel#
Diagram sebar menempatkan tiap data sebagai satu titik pada bidang dua variabel tanpa menghubungkannya dengan garis. Pola yang muncul, misalnya kecenderungan naik atau kelompok yang terpisah, menunjukkan hubungan antar variabel yang tidak terlihat pada tiap variabel terpisah. Panggilan scatter(x, y, s, c) menambah dua saluran informasi, yakni ukuran titik melalui vektor s dan warna titik melalui vektor c. Skrip berikut memetakan jam belajar terhadap nilai ujian dengan warna yang mengikuti nilai tugas.
% diagram-sebar.m: sebar jam belajar terhadap nilai ujian delapan siswa
jam = [1 2 3 4 5 6 7 8];
nilai = [55 58 62 61 67 70 68 74];
ukuran = 60 * ones(size(jam));
tugas = [62 70 68 74 78 76 82 86];
scatter(jam, nilai, ukuran, tugas, 'filled');
xlabel('Jam belajar per pekan');
ylabel('Nilai ujian');
title('Nilai ujian terhadap jam belajar');
grid on;
print('-dsvg', 'diagram-sebar.svg');Delapan titik dengan warna bergradasi hasil skrip itu tampak pada figur berikut.
Warna titik dipetakan melalui peta warna yang berlaku pada figur, dari gelap untuk nilai kecil ke terang untuk nilai besar. Peta warna bawaan berbeda antar implementasi, dan skala warnanya lazim dilengkapi colorbar agar pembaca dapat mengubah warna menjadi nilai. Ukuran titik pada contoh diseragamkan karena data tidak memuat besaran ketiga yang layak dikodekan sebagai ukuran, dan penggunaan ukuran acak justru merusak pembacaan.
Diagram stem untuk data diskret#
Deret diskret, seperti respon sistem pada indeks sampel, memiliki nilai hanya pada indeks bulat dan tidak memiliki makna di antara dua indeks. Diagram stem(n, x) menggambarkan sifat itu dengan menggambar batang tegak dari garis nol sampai nilai tiap sampel dan menutup ujungnya dengan penanda. Skrip berikut memvisualkan respon sampel sistem orde satu yang nilainya meluruh dengan faktor 0,7.
% diagram-stem.m: respon sampel sistem orde satu dengan stem
n = 0:10;
h = 0.7 .^ n;
stem(n, h, 'filled');
xlabel('Indeks sampel n');
ylabel('Respon h[n]');
title('Respon sampel sistem orde satu');
grid on;
print('-dsvg', 'diagram-stem.svg');Sebelas batang tegak yang meluruh hasil skrip itu tampak pada figur berikut.
Operator .^ pada perhitungan h wajib karena pangkat dikerjakan per elemen pada vektor n. Bentuk stem juga kerap dipakai untuk koefisien deret Fourier dan sinyal hasil pengambilan sampel, dua contoh data yang sama-sama berindeks diskret. Batang yang tidak terhubung garis membedakan stem dari diagram batang kategori, karena jarak antar indeks pada stem bermakna urutan, bukan kategori yang berdiri sendiri.
Kesalahan umum#
- Memakai diagram batang untuk data kontinu yang padat. Data pengukuran dengan ratusan titik menghasilkan ratusan batang yang saling menempel sehingga figur menjadi blok padat dan bentuk kurvanya hilang. Data kontinu digambar dengan
plot, sedangkanbardisisakan untuk kategori. - Jumlah interval histogram yang tidak sesuai banyaknya data. Interval yang terlalu banyak membuat tiap batang memuat satu atau dua data sehingga bentuk distribusi pecah, sedangkan interval yang terlalu sedikit menyembunyikan ciri distribusi. Aturan awal yang wajar adalah sekitar lima sampai sepuluh interval untuk data berukuran puluhan, lalu disesuaikan setelah bentuknya dilihat.
- Ukuran dan warna titik yang diisi nilai acak. Fungsi pembangkit acak menghasilkan figur yang berbeda pada tiap eksekusi sehingga figur tidak dapat direproduksi atau dibandingkan. Saluran ukuran dan warna diisi besaran nyata dari data, dan pada seluruh contoh jalur ini data ditulis literal demi hasil yang deterministik.
Ringkasan#
- Perbandingan kategori memakai
bar, dan beberapa seri pada kategori yang sama digambar dengan satu matriks sebagai batang berkelompok. - Distribusi nilai memakai histogram, dengan
histyang berjalan di kedua implementasi danhistogramsebagai bentuk modern di MATLAB. - Hubungan dua variabel kontinu memakai
scatter, dengan ukuran dan warna sebagai saluran informasi tambahan yang diisi besaran nyata dari data. - Deret diskret berindeks memakai
stemkarena nilai antar indeks tidak bermakna, dan pangkat perhitungannya memakai operator.^.
Referensi#
- bar — MathWorks — Rujukan diagram batang beserta bentuk batang berkelompok.
- histogram — MathWorks — Rujukan histogram modern dengan pengaturan interval.
- scatter — MathWorks — Rujukan diagram sebar dengan pengaturan ukuran dan warna titik.
- stem — MathWorks — Rujukan diagram batang tegak untuk deret diskret.