Grafik tanpa label adalah sekumpulan garis yang bisa ditafsirkan apa saja: sumbu apa? satuannya? garis mana kota mana? Chapter sebelumnya fokus pada bentuk grafik; sekarang kita melengkapi maknanya supaya pembaca memahami grafik tanpa membaca narasi. MATLAB menempatkan semua itu dalam empat alat: label sumbu, judul, legend, dan anotasi text. Cakupan chapter ini:
xlabel,ylabel,titlebeserta pengaturanFontSize- Notasi matematika lewat TeX interpreter: subskrip, superskrip, dan simbol Yunani
legenddengan label per seri dan pengaturanLocation- Anotasi
textpada koordinat data serta label multibaris
Label Sumbu dan Judul #
Aturannya: setiap grafik minimal punya nama sumbu-x, nama sumbu-y, dan judul. Mekanismenya: xlabel, ylabel, dan title masing-masing menempelkan objek teks pada axes aktif — posisinya dihitung otomatis di luar area data, sehingga menambah label tidak menggeser grafik. Ukuran huruf diatur dengan pasangan FontSize (default sekitar 10-11 poin):
xlabel('Waktu t (jam)', 'FontSize', 12);
ylabel('Suhu T (^{\circ}C)', 'FontSize', 12);
title('Siklus suhu harian', 'FontSize', 13, 'FontWeight', 'bold');Satuan ditulis langsung di dalam kurung — “Suhu T (°C)” — karena label sumbu adalah tempat pertama pembaca mencari satuannya. Judul diberi FontWeight tebal agar menonjol dari label sumbu. Pada layout multi-panel dari Chapter Subplot dan Layout, ingat bahwa label menempel pada panel AKTIF: panggil subplot(m,n,k) lebih dulu, baru xlabel/title, supaya label jatuh pada panel yang benar.
Notasi Matematika dengan TeX Interpreter #
Aturannya: label MATLAB di-render oleh TeX interpreter secara default. Mekanismenya: interpreter memindai string label, lalu karakter _ menurunkan karakter berikutnya menjadi subskrip, ^ menaikkannya menjadi superskrip, dan urutan yang diawali backslash menjadi simbol. Kurung kurawal {...} mengelompokkan lebih dari satu karakter, misalnya x_{max} atau ^{\circ}C:
title('T = T_0 + A\,\sin(2\pi t/24 - \phi)');
xlabel('Frekuensi f_1^2 (Hz)');Simbol yang paling sering kita perlukan:
| Penulisan | Hasil | Penulisan | Hasil |
|---|---|---|---|
\alpha | α | \pi | π |
\beta | β | \times | × |
\Delta | Δ | \cdot | · |
\sigma | σ | \pm | ± |
\approx | ≈ | \infty | ∞ |
\leq | ≤ | \geq | ≥ |
\neq | ≠ | \circ | ° (derajat) |
Legend untuk Banyak Seri #
Aturannya: legend memberi nama tiap seri data pada grafik multi-seri. Mekanismenya: legend('label1', 'label2', ...) memasangkan label secara BERURUTAN dengan urutan seri pada plot — label pertama milik garis yang digambar lebih dulu, dan seterusnya. Menulis dua label untuk tiga seri membuat legend kehilangan satu nama:
legend('Jakarta (A = 6)', 'Bandung (A = 4)', ...
'Location', 'northwest');Posisi legend dikendalikan dengan Location. Nilainya mengikuti kompas, dengan opsi outside untuk keluar dari area data:
Nilai Location | Posisi legend | Keterangan |
|---|---|---|
northeast, northwest, southeast, southwest | keempat sudut dalam | tidak menutupi pinggir data |
north, south, east, west | tengah tiap sisi | lega, jarang dipakai |
northoutside, southoutside, eastoutside, westoutside | di luar axes | aman bila data memenuhi kanvas |
best / bestoutside | dipilih otomatis | MATLAB mencari area kosong |
Contoh Utuh: Label, Legend, dan Anotasi TeX #
Skrip lengkap berikut dari contoh.m menggabungkan seluruh alat: dua seri dengan warna berbeda, label TeX, legend, dan anotasi text yang menandai puncak grafik:
t = 0:0.5:24; % jam dalam sehari
suhuJak = 24 + 6*sin(2*pi*t/24 - pi/2); % model Jakarta
suhuBan = 22 + 4*sin(2*pi*t/24 - pi/3); % model Bandung
f = figure('visible', 'off');
plot(t, suhuJak, '-o', 'LineWidth', 1.5, ...
'MarkerFaceColor', [0.20 0.40 0.80]);
hold on;
plot(t, suhuBan, '--s', 'LineWidth', 1.5, ...
'MarkerFaceColor', [0.85 0.33 0.10]);
hold off;
xlabel('Waktu t (jam)');
ylabel('Suhu T (^{\circ}C)');
title({'Siklus suhu harian', 'T = T_0 + A\,\sin(2\pi t/24 - \phi)'});
legend('Jakarta (A = 6)', 'Bandung (A = 4)', ...
'Location', 'northwest');
grid on;
% anotasi pada koordinat data: tandai puncak Jakarta
[nilaiPuncak, idxPuncak] = max(suhuJak);
text(t(idxPuncak), suhuJak(idxPuncak), ...
sprintf('puncak %g^{\circ}C', nilaiPuncak), ...
'Color', [0.20 0.40 0.80], 'FontSize', 9);
saveas(f, 'label-legend-tex.png');
fprintf('Grafik tersimpan: label-legend-tex.png\n');
fprintf('Puncak Jakarta: %g derajat pada jam %g\n', ...
nilaiPuncak, t(idxPuncak));Output yang Dihasilkan:
Grafik tersimpan: label-legend-tex.png
Puncak Jakarta: 30 derajat pada jam 12Mari kita bedah baris-baris kode di atas:
- Baris 5 (
figure('visible', 'off')): figur dibuat headless; seluruh perintah berikutnya bekerja persis sama seperti di desktop. - Baris 15 (
title({'Siklus suhu harian', ...})): cell array dua elemen menghasilkan judul dua baris — baris pertama deskriptif, baris kedua rumus modelnya. - Baris 16-17 (
legend(...)): dua label mengikuti urutan penggambaran:'Jakarta (A = 6)'untukplotpertama,'Bandung (A = 4)'untukplotkedua. - Baris 21 (
[nilaiPuncak, idxPuncak] = max(suhuJak)):maxmengembalikan nilai terbesar pada keluaran pertama dan posisinya pada keluaran kedua — keduanya dipakai untuk menempatkan anotasi. - Baris 22-24 (
text(...)): anotasi ditempatkan pada koordinat data(12, 30)— titik puncak itu sendiri — dengan warna yang sama seperti seri Jakarta dan format angka darisprintf.
Perhatikan bahwa text() bekerja pada koordinat data, bukan persen kanvas: saat kita mengubah xlim pada Chapter Axis Limits dan Scales, anotasi ikut bergeser bersama datanya.
Label Multibaris #
Judul multibaris memakai cell array seperti contoh di atas — dan bentuk yang sama juga diterima xlabel/ylabel. Label sumbu yang panjang dapat dipatahkan dua cara:
xlabel(sprintf('Total penjualan toko Budi\n(ribu unit per bulan)'));
xlabel({'Total penjualan toko Budi', '(ribu unit per bulan)'});Kedua baris tersebut menempel pada sumbu-x tanpa memakan ruang horizontal — berguna untuk figur sempit seperti panel subplot dari chapter sebelumnya. Pilihan antara sprintf dan cell array selera: sprintf cocok bila angka perlu disisipkan ke label, cell array lebih ringkas bila teksnya statis.
Ringkasan #
Label sumbu, judul, legend, dan anotasi melengkapi grafik dengan informasi yang dibaca pertama: xlabel/ylabel/title menempel otomatis pada axes aktif, TeX interpreter mengubah x_1^2 dan \alpha menjadi notasi matematika, legend menamai seri sesuai urutan penggambaran, dan text(x, y, str) menandai titik penting langsung pada koordinat data. Setelah grafik terbaca, langkah berikutnya adalah mengendalikan jangkauan sumbunya: Chapter Axis Limits dan Scales.