Figur hasil plot baru memuat kurva dan skala tanpa keterangan apa pun, sehingga maknanya hanya terbaca oleh pembuatnya. Topik ini membahas pemasangan judul dengan title, label sumbu dengan xlabel dan ylabel, legenda dengan legend, garis bantu dengan grid, pengaturan tick dengan xticks dan yticks, notasi matematika pada label, serta pengaturan properti sumbu melalui set. Setelah topik ini, figur yang dihasilkan membawa keterangan lengkapnya sendiri dan dapat dibaca oleh pembaca yang tidak menyaksikan proses pembuatannya.
Judul, label sumbu, dan grid#
Perintah title('teks') memasang judul di bagian atas sumbu aktif, sedangkan xlabel dan ylabel memasang keterangan pada sumbu horizontal dan vertikal. Perintah grid on menampilkan garis bantu yang memanjang dari tiap tick, dan grid off menyembunyikannya kembali. Seluruh perintah dekorasi bekerja pada sumbu aktif, yaitu sumbu yang menjadi sasaran panggilan gambar terakhir, sehingga urutan penulisan yang aman adalah menggambar kurva lebih dahulu baru memasang keterangan.
% judul-dan-label.m: judul, label sumbu, dan grid pada kurva suhu
jam = 0:0.5:12;
suhu = 24 + 4*sin(jam/2);
plot(jam, suhu, 'b-');
title('Suhu ruang server selama satu hari');
xlabel('Jam ke-');
ylabel('Suhu (derajat Celsius)');
grid on;
print('-dsvg', 'judul-dan-label.svg');Figur lengkap dengan judul, label kedua sumbu, dan grid hasil skrip itu tampak sebagai berikut.
Tiga keterangan itu memikul tugas yang berbeda. Judul menyatakan pokok bahasan figur dan menjadi teks pertama yang dibaca. Label sumbu menyatakan besaran beserta satuannya, dan tanpanya angka pada tick menjadi tak bermakna. Garis grid memudahkan pelacakan nilai dari kurva ke sumbu, tetapi pada figur berisi banyak kurva grid yang rapat justru menambah derau sehingga lebih baik dipakai seperlunya.
Legenda dan penempatannya#
Legenda menerangkan identitas tiap kurva ketika satu sumbu memuat beberapa kurva. Panggilan legend('nama1', 'nama2', ...) memasang kotak keterangan yang urutannya mengikuti urutan penggambaran kurva, sehingga nama pertama milik kurva yang digambar lebih dulu. Tanpa legenda, pembaca harus menebak kurva mana milik data mana, dan sering menebak salah. Argumen 'location' mengatur penempatan kotaknya dengan kata kunci seperti 'northwest', 'southeast', atau 'northeast' sesuai pojok sumbu.
% legenda-figur.m: legenda dua kurva dengan pengaturan letak
jam = 0:0.5:12;
ruangServer = 24 + 4*sin(jam/2);
ruangArsip = 21 + 3*sin(jam/2 - 1);
plot(jam, ruangServer, 'b-', jam, ruangArsip, 'r--');
title('Suhu dua ruangan selama satu hari');
xlabel('Jam ke-');
ylabel('Suhu (derajat Celsius)');
legend('Ruang server', 'Ruang arsip', 'location', 'northwest');
grid on;
set(gca, 'FontSize', 11);
print('-dsvg', 'legenda-figur.svg');Legenda pada pojok kiri atas hasil skrip itu tampak pada figur berikut.
Skrip di atas sekaligus memperkenalkan set(gca, ...). Fungsi gca mengembalikan sumbu aktif, dan set mengubah propertinya, misalnya 'FontSize', 11 memperbesar seluruh tulisan pada sumbu dalam satu perintah. Pengaturan semacam ini lebih ringkas daripada mengatur tiap judul dan label satu per satu karena satu panggilan mengenai semua teks pada sumbu. Penempatan legenda sebaiknya menghindari daerah yang dilewati kurva, dan lokasi pojok memberi ruang kosong yang paling sering tersedia.
Penanda skala dengan xticks dan yticks#
Posisi tick dipilih otomatis dari rentang data, dan hasil otomatis itu kadang terlalu rapat atau memuat nilai yang tidak bermakna bagi data. Perintah xticks(v) dan yticks(v) mengganti posisi tick dengan vektor nilai v buatan sendiri, misalnya xticks(0:2:10) untuk tick genap saja. Garis grid ikut berpindah mengikuti tick baru sehingga keduanya diatur bersama. Skrip berikut memakai tick yang lebih renggang pada getaran teredam.
% ticks-kustom.m: penanda skala kustom dengan xticks dan yticks
x = linspace(0, 10, 200);
y = exp(-0.25*x) .* sin(2*x);
plot(x, y, 'b-');
title('Getaran teredam');
xlabel('Waktu (detik)');
ylabel('Amplitudo');
xticks(0:2:10);
yticks(-0.8:0.4:0.8);
grid on;
print('-dsvg', 'ticks-kustom.svg');Figur dengan tick hasil pengaturan manual itu tampak sebagai berikut.
Pengaturan manual paling berguna pada dua keadaan. Pertama, data memiliki nilai patokan yang ingin selalu tampak, misalnya tick pada kelipatan untuk sudut atau kelipatan satu untuk jam. Kedua, tick otomatis terlalu rapat sehingga angka saling bertabrakan, dan perenggangan seperti di atas membuat skala lebih mudah dibaca. Kebalikannya juga berlaku, yaitu tick yang terlalu jarang membuat pembacaan nilai menjadi kasar, sehingga vektor tick dipilih dengan memperhatikan kerapatan data.
Notasi matematika pada label#
Label menerima notasi bergaya TeX sehingga rumus ringkas dapat ditulis langsung pada judul dan label tanpa menyusun teks panjang. Notasi yang paling sering dipakai adalah huruf Yunani seperti \pi dan \omega, pangkat dengan ^, dan indeks dengan _. MATLAB menafsirkan string label dengan penerjemah TeX bawaan secara default. Contoh pada jalur ini diverifikasi dengan GNU Octave. Penerjemah TeX pada lingkungan itu juga merender huruf Yunani, indeks, dan pangkat sederhana, sehingga notasi berikut tampil sebagai simbol pada figur hasilnya.
% label-tex.m: notasi matematika sederhana pada judul dan label
x = linspace(0, 4*pi, 200);
amplitudo = exp(-x/8);
plot(x, amplitudo .* sin(x), 'b-', x, amplitudo .* cos(x), 'r--');
title('Osilasi teredam sampai t = 4\pi');
xlabel('Waktu t (detik)');
ylabel('Amplitudo e^{-t/8}');
legend('e^{-t/8} sin(t)', 'e^{-t/8} cos(t)', 'location', 'northeast');
grid on;
print('-dsvg', 'label-tex.svg');Judul, label, dan legenda bertuliskan notasi hasil skrip itu tampak pada figur berikut.
Properti bawaan untuk seluruh sesi#
Pengaturan seperti ukuran huruf dapat dinaikkan dari satu figur menjadi bawaan seluruh figur pada satu sesi. Panggilan set(0, ...) pada objek akar mengubah nilai bawaan properti, dan setiap figur yang dibuat sesudahnya mewarisi nilai itu tanpa perlu diatur ulang. Nama propertinya diawali kata Default, dan pola yang sama berlaku untuk keluarga objek lain, misalnya DefaultLineLineWidth untuk ketebalan garis bawaan pada kurva baru.
set(0, 'DefaultAxesFontSize', 12); % berlaku pada figur yang dibuat sesudahnyaNilai bawaan sesi hilang ketika sesi ditutup, dan figur yang sudah terbuka tidak ikut berubah karena nilai bawaan hanya dibaca ketika objek dibuat. Pada MATLAB, pengaturan yang ingin dipakai terus-menerus ditulis pada berkas startup.m yang dijalankan otomatis saat sesi dimulai, sedangkan pada Octave perannya dipegang oleh berkas .octaverc. Kedua mekanisme itu hanya memuat perintah set yang sama sehingga pilihan penempatannya tidak mengubah perilaku figur.
Kesalahan umum#
- Dekorasi terpasang sebelum kurva terakhir. Setiap panggilan
plotpada keadaanhold offmengganti isi sumbu sekaligus menghapus judul dan label yang terpasang, karena dekorasi melekat pada sumbu, bukan pada figur. Pasang seluruh keterangan setelah panggilan gambar terakhir. Kondisi setelah plot ulang dapat diperiksa langsung seperti berikut.
x = linspace(0, 2*pi, 40);
plot(x, sin(x), 'b-');
title('Suhu harian');
plot(x, cos(x), 'r--');
judul = get(get(gca, 'Title'), 'String');
fprintf('judul setelah plot ulang: "%s"\n', judul);judul setelah plot ulang: ""- Menukar
xlabeldanylabel. Kedua perintah sama-sama sah sehingga kekeliruan tidak memicu error, tetapi keterangan horizontal terpasang pada sumbu vertikal atau sebaliknya. Pembenahannya sederhana, yaitu membaca nama fungsinya sebagai arah:xlabeluntuk sumbu datar,ylabeluntuk sumbu tegak. - Urutan legenda tidak mengikuti urutan kurva. Legenda menerima nama dalam urutan bebas, sedangkan penempatannya mengikuti urutan penggambaran. Nama yang tertukar menghasilkan legenda yang meyakinkan tetapi salah, dan kesalahan semacam ini hanya tertangkap dengan membaca ulang pasangan nama dan kurva.
Ringkasan#
- Judul, label sumbu, dan grid dipasang dengan
title,xlabel,ylabel, dangrid onpada sumbu aktif, dan semuanya terhapus bilaplotmenggambar ulang sumbu. - Legenda mengikuti urutan penggambaran kurva, dengan penempatan melalui argumen
'location'. - Posisi tick diganti dengan
xticksdanyticks, dan garis grid mengikuti tick yang baru. - Label menerima notasi TeX sederhana seperti
\pi, pangkat, dan indeks, dengan cakupan penerjemah yang berbeda antar implementasi. - Properti satu sumbu diatur melalui
set(gca, ...), sedangkan bawaan seluruh sesi diatur melaluiset(0, ...)dan dapat dibuat permanen lewat berkas startup.
Referensi#
- title — MathWorks — Rujukan judul figur beserta pengaturan letak dan ukurannya.
- xlabel — MathWorks
— Rujukan label sumbu horizontal, dengan perilaku yang sama pada
ylabel. - legend — MathWorks — Rujukan legenda lengkap dengan kata kunci penempatan.
- xticks — MathWorks — Rujukan pengaturan posisi tick sumbu horizontal.
- text — MathWorks — Rujukan properti teks pada figur termasuk penerjemah notasi.