Minggu, 07 Juli 2019

Visualisasi Data Penelitian Dalam Bentuk Grafik Menggunakan Gnuplot


Sebagai seorang pelajar atau peneliti, terkadang diperlukan penyajian data berupa grafik. Ada banyak perangkat lunak pembuat grafik yang populer, misalnya OriginPro, tapi merupakan perangkat yang berbayar. Walaupun masih bisa digunakan dengan cara ilegal, namun hal ini akan menghasilkan dosa dan menghilangkan keberkahan terhadap karya yang kita hasilkan. Anda tentunya tidak mau hal itu sampai terjadi.

Dalam tulisan ini, saya akan membahas sebuah perangkat lunak pembuat grafik gratisan. Meskipun demikian, Gnuplot seringkali digunakan oleh peneliti bertaraf internasional dalam paper-paper mereka. Contoh paper internasional yang grafiknya menggunakan Gnuplot dapat dilihat di sini.

Gnuplot merupakan suatu program yang dapat berjalan di Command Line (Terminal di Linux atau Command Prompt di Windows) untuk menghasilkan grafik 2 atau 3 dimensi. Namun, bahasan dalam tulisan ini hanya dibatasi pada grafik 2 dimensi. Jika anda pengguna Windows, Gnuplot dapat anda unduh di sini. Jika anda pengguna Linux berbaris Ubuntu, dapat menginstalnya dengan menjalankan perintah di bawah ini:

sudo apt-get install gnuplot

Dalam tulisan ini, saya menggunakan terminal Linux dalam menjalankan Gnuplot. Saya berharap, anda dapat menyesuaikan.

Data yang akan diplot dapat dimasukkan secara langsung maupun dimasukkan dari berkas (file) yang sudah ada. Namun, bahasan dalam tulisan ini hanya dibatasi pada penggunaaan data dari berkas masukan.

Dalam turorial ini digunakan 5 berkas berekstensi .dat yang merupakan data keluaran (output) dari sebuah program fisika komputasi. Nama-nama berkas tersebut adalah sebagai berikut:

  • data1.dat
  • data2.dat
  • data3.dat
  • data4.dat
  • data5.dat

Berkas-berkas di atas dapat diunduh di sini untuk dijadikan bahan ujicoba jika anda belum memiliki data sendiri.

Data dalam berkas-berkas tersebut terbagi menjadi 3 kolom sebagaimana yang diperlihatkan oleh gambar di bawah ini:

Gambar 1: Isi berkas data1.dat

Terlihat dalam gambar di atas bahwa kolom pertama hingga ketiga secara berturut-turut berisi data temperatur, energi, dan massa jenis bahan feromagnetik.

Tiap berkas di atas berisi 2002 baris. Namun baris ke-1 dan ke-2 tidak akan diproses karena diawali dengan tanda # sehingga data yang diplot hanya 2000 baris. Jika tanda tersebut terdapat pada suatu baris maka data yang terdapat di belakangnya tidak akan dibaca. Hal ini hanya berlaku pada baris itu saja.

Pengaturan-pengaturan grafik yang akan dibuat dapat ditulis baris demi baris di Command Line. Namun hal ini tidak efisien jika kita hendak mengeplot berkali-kali dengan pengaturan yang sama. Oleh karena itu kita akan membuat berkas berekstensi .gnu yang berisi perintah-perintah Gnuplot yang akan digunakan dalam mengeplot suatu data yang terdapat dalam suatu berkas. Nantinya, kita hanya mengubah beberapa baris dalam berkas berekstensi .gnu tersebut jika hendak mengeplot data dalam berkas yang lain.

Misalkan kita hendak membuat grafik hubungan antara temperatur (kolom pertama) dan massa jenis (kolom ketiga) yang terdapat pada berkas yang bernama data1.dat. Bukalah text editor kesukaan anda (di sini saya menggunakan Xed yang merupakan bawaah Linux Mint) lalu tulislah berintah di bawah ini (selain nomor baris perintah):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
set terminal x11
set key font "Courier,16"
set xlabel "T" font "Times-Italic,24"
set ylabel "C_V" font "Times-Italic,24"
set xrange [0.0:6.0]
set yrange [0.0:1.0]
set xtics 1.0
set ytics 0.2
set border linewidth 2
set lmargin 9.0
set bmargin 4.0
plot "data1.dat" using 1:3 with points linewidth 1 linetype 1 pointtype 1 pointsize 1.0 title "L=10, c=0.2"
set term post eps enhanced color solid "Helvetica" 18
set output "grafik-data1.eps"
replot

Penjelasan Baris Perintah:

  1. Perintah untuk mengubah tipe terminal menjadi x11. Hal ini lakukan untuk memperlancar proses pembuatan grafik.
  2. Mengatur jenis dan ukuran huruf legenda (keterangan) grafik. Di sini digunakan huruf yang bernama Courier dengan ukuran 16. Jenis-jenis huruf yang dapat digunakan dapat dilihat di sini.
  3. Mengatur label sumbu-x. Di sini digunakan label "T" menggunakan huruf "Times-Italic" berukuran 24.
  4. Mengatur label sumbu-y. Di sini digunakan label  "C_v" menggunakan huruf dan ukuran seperti pada nomor sebelumnya.
  5. Mengatur rentang sumbu-x. Di sini, sumbu-x akan dimulai dari 0.0 hingga 6.0.
  6. Mengatur rentang sumbu-y. Di sini, sumbu-y akan dimulai dari 0.0 hingga 1.0.
  7. Mengatur interval penomoran sumbu-x. Di sini, interval yang digunakan adalah 1.0.
  8. Mengatur interval penomoran sumbu-y. Di sini, interval yang digunakan adalah 0.2.
  9. Mengatur lebar garis pinggir grafik. Di sini digunakan ukuran 2.
  10. Mengatur margin kiri. Margin yang dimaksud adalah jarak antara garis kiri grafik dan tepi berkas sebelah kiri. Di sini digunakan ukuran 9.0.
  11. Mengatur margin bawah. Margin yang dimaksud adalah jarak antara garis bawah grafik dan tepi berkas sebelah bawah. Di sini digunakan ukuran 4.0.
  12. Memasukkan data yang akan diplot serta mengatur garis dan label grafik.  Di sini, data yang akan diplot berasal dari berkas yang bernama data1.dat sedangkan kolom yang hendak diplot adalah kolom pertama dan ketiga. Kolom pertama akan menjadi sumbu-x sedangkan kolom ketiga akan menjadi sumbu-y. Tipe plot yang digunakan adalah tipe poin (point) dengan lebar garis adalah 1, tipe poin adalah 1, ukuran poin adalah 1, dan judul grafik yang akan tertulis pada bagian legenda adalah "L=10, c=0.0".
  13. Mengatur berkas keluaran dari Guplot. Di sini telah digunakan berkas keluaran berekstensi .eps. Kami tidak menggunakan ekstensi .jpg adau .png karena dalam pengalaman kami hasilnya kurang bagus. Di sini juga telah dilakukan pengaturan huruf yang digunakan pada kedua sumbu grafik pada berkas keluaran. Di sini digunakan huruf dengan nama "Helvetica" berukuran 18.
  14. Pengaturan nama berkas keluaran. Di sini digunakan nama "grafik-data1.eps".
  15. Perintah untuk mengeplot data ke dalam berkas keluaran.
Setelah berkas di atas disimpan, masuklah ke dalam Gnuplot dengan cara menulis perintah di bawah ini di terminal:

gnuplot

Setelah menekan tombol enter maka akan diperoleh tampilan kurang lebih seperti pada gambar di bawah ini:

Gambar 2: Tampilan Gnuplot di terminal Linux
Jika berkas Gnuplot di atas tersimpan dengan nama "plot-data1.gnu" maka perintah untuk memanggil berkas tersebut adalah sebagai berikut:

load "plot-data1.gnu"

Hasilnya dapat dilihat pada gambar di bawah ini:

Gambar 3: Hasil dari berkas plot-data1.gnu
Walaupun kita menggunakan plot tipe poin tapi terlihat dalam gambar 3 bahwa sebagian plot membentuk garis. Hal ini terjadi karena jumlah data sangat banyak, poin-poin menjadi sangat berdekatan sehingga terlihat menyatu membentuk garis.

Selanjutnya, kita akan membahas tentang cara menggabungkan banyak grafik ke dalam satu gambar. Misalnya, kita hendak mengeplot semua data di atas (data1.dat, data2.dat, data3.dat, data4.dat, dan data5.dat) maka perintahnya adalah sebagai berikut:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
set terminal x11
set key spacing 1.2
set key font "Courier,16"
set xlabel "T" font "Times-Italic,24"
set ylabel "C_V" font "Times-Italic,24"
set xrange [0.0:6.0] 
set yrange [0.0:1.0] 
set xtics 1.0 
set ytics 0.2 
set border linewidth 2
set lmargin 9.0
set bmargin 4.0
plot "data1.dat" using 1:3 with points linewidth 1 linetype 1 pointtype 1 pointsize 1.0 title "L=10, c=0.2"
replot "data2.dat" using 1:3 with points linewidth 1 linetype 2 pointtype 2 pointsize 1.0 title "L=10, c=0.4"
replot "data3.dat" using 1:3 with points linewidth 1 linetype 3 pointtype 3 pointsize 1.0 title "L=10, c=0.6"
replot "data4.dat" using 1:3 with points linewidth 1 linetype 4 pointtype 4 pointsize 1.0 title "L=10, c=0.8"
replot "data5.dat" using 1:3 with points linewidth 1 linetype 5 pointtype 5 pointsize 1.0 title "L=10, c=1.0"
set term post eps enhanced color solid "Helvetica" 18
set output "grafik-gabungan.eps"
replot

Jika perintah-perintah di atas tersimpan dalam berkas yang bernama "plot-gabungan.gnu" maka perintah untuk memanggil berkas tersebut adalah sebagai berikut:

load "plot-gabungan.gnu"

Hasilnya dapat dilihat pada gambar di bawah ini:

Gambar 4: Hasil dari berkas plot-gabungan.gnu
Jika berkas keluaran berekstensi .eps hasilnya sangat bagus tapi terkadang kita kesulitan memasukkan gambar grafik tersebut ke dalam pengolah kata. Jika anda menggunakan pengolah kata Latex maka tambahkanlah perintah berikut secara berurutan pada bagian preamble agar berkas berekstensi .eps dapat diproses:

1
2
\usepackage{graphicx}
\usepackage{epstopdf}

Jika anda menggunakan MS Word dan anda gagal memasukkan gambar berekstensi .eps maka anda tidak punya pilihan lain selain mengubah ekstensinya menjadi .jpg atau .png. Untuk mengonversinya, anda dapat mengunjungi www.epsconverter.com.

Demikian tulisan kali ini. Jika ada pertanyaan, silahkan menulisnya di kolom komentar. Semoga bermanfaat!

Tidak ada komentar: