Thursday, December 3, 2015

Menggambar Histogram dengan Menggunakan Tabel Pgfplots

Histogram yang kita gambar terdahulu menempatkan tepi-tepi kelas dari data berkelompok sebagai absis untuk batang-batangnya. Sekarang kita akan menempatkan tiap-tiap kelasnya sebagai absis yang menamai batang yang bersesuaian, seperti tampak pada gambar di samping ini.

Paket


Pada tulisan ini akan saya tampilkan contoh histogram ini persis seperti gambar tersebut. Untuk itu saya gunakan warna bistre dan bistre Prancis dan Tan dengan paket xcolor
\usepackage[svgnames]{xcolor}
\definecolor{bistre}{RGB}{61, 43, 31}
\definecolor{bistref}{RGB}{133, 109, 77}
Paket xcolor ini harus kita muat sebelum paket pgfplots. Sama seperti sebelum ini, untuk menggambar histogram ini, kita gunakan paket pgfplots dan library patterns dari paket tikz untuk pengarsiran batang. Dengan demikian kita muat
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{patterns}

Tabel Pgfplots

Kali ini akan kita buat tabel pgfplots sebagai data yang digunakan oleh pgfplots dalam menggambar histogramnya. Kita akan memberitahu kepada pgfplots bahwa data kita berbentuk tabel, di mana kolom dipisahkan oleh tanda "&" dan baris dipisahkan oleh tanda "\\". Mirip seperti menuliskan tabel di samping ini, kita sebut kolom pertama sebagai Berat dan kolom kedua sebagai f, kemudian kita namai tabel ini sebagai (misalnya) dataku.
\pgfplotstableread[row sep=\\,col sep=&]{
    Berat    & f  \\
    51--60   & 8   \\
    61--70   & 10  \\
    71--80   & 11 \\
    81--90   & 8 \\
    91--100  & 3  \\
    }\dataku

Opsi-opsi Grafik


Sumbu koordinat kita warnai oleh warna bistref yang telah ditetapkan di dalam preamble.
axis line style={bistref},
Sumbu $\small{X}$ kita tetapkan di tengah sedangkan sumbu $\small{Y}$ kita tetapkan di kiri, kemudian pada awal sumbu $\small{X}$ positif kita buat rentang pemutus.
axis x line = center,
axis y line = left,
axis x discontinuity=crunch,
Batang histogram kita tegak, sejajar dengan sumbu $\small{Y}$, maka kita nyatakan
ybar,
Agar batang-batang itu merapat maka jarak antarbatang dan lebar tiap batang kita buat sama, misalnya
x=1cm,bar width=1cm,
sedangkan ruang kosong pada awal dan ujung bidang grafik dapat kita atur dengan menuliskan nilai yang cocok dalam
enlarge x limits=0.375,
Sekarang kita ganti nilai-nilai absisnya oleh kelas-kelas dari data kita, maka kita nyatakan 
symbolic x coords={51--60,61--70,71--80,81--90,91--100},
xtick=data,
kemudian noktah penanda nilai absis dan ordinat kita sembunyikan saja
tickwidth=0pt,
Berikutnya kita namai sumbu $\small{X}$ sebagai Berat dan kita letakkan di kanan, dan kita mewarnai nama ini dengan bistref
xlabel=Berat,
xlabel style={at={(1,0)},right,font=\color{bistre}\small,text width=1cm,align=center},
Agar nilai-nilai ordinat tidak tercetak (kosong) maka kita nyatakan
ytick=\empty,
kemudian kita namai sumbu $\small{Y}$ sebagai Frekuensi dan kita letakkan di (posisi paling) atas, dan kita mewarnai nama ini dengan bistref
ylabel=Frekuensi,
ylabel style={at={(0,1)},above,rotate=-90,font=\color{bistre}\small,text width=1cm,align=center},
Seluruh nilai absis dan ordinat (agar tak terlalu besar) kita buat dalam huruf berukuran small saja.
y tick label style={font=\color{bistre}\small},
x tick label style={font=\color{bistre}\small,text width=1cm,align=center},
Kemudian kita letakkan nilai-nilai itu secara asal (default).
nodes near coords,
nodes near coords align={vertical},
Dalam modus batang-tegak, kita nyatakan nilai $\small{y}$ minimum nol sedang maksimumnya disesuaikan dengan data. Pada data kita ini nilai maksimum frekuensi adalah $\small11$, maka
ymin=0,ymax=13,
Sebagai opsi terakhir, bila perlu, kita dapat membubuhkan judul sebagai keterangan terhadap histogram yang dibuat, misalnya
title=Histogram Berat Benda

Grafik


Kita perintahkan pgfplots untuk menggunakan data kita dari tabel dataku untuk menggambarkan histogramnya berdasarkan pada opsi-opsi grafik di atas. Kemudian kita minta pgfplots mewarnai sisi-sisi batangnya dengan warna bistref dan mengarsir daerah batangnya ke arah Barat Laut.
\addplot[draw=bistref,pattern=north west lines,pattern color=Tan] table[x=Berat,y=f]{\dataku};

Pengkodean dan Hasilnya


Nah, berikut ini pengkodean selengkapnya untuk menggambar histogram seperti tampak pada gambar di atas, kemudian hasilnya dapat Anda lihat dalam dokumen terlampir di bawahnya.
\documentclass{article}
\usepackage[svgnames]{xcolor}
\definecolor{bistre}{RGB}{61, 43, 31}
\definecolor{bistref}{RGB}{133, 109, 77}

\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{patterns}

\begin{document}

\pgfplotstableread[row sep=\\,col sep=&]{
    Berat    & f  \\
    51--60   & 8   \\
    61--70   & 10  \\
    71--80   & 11 \\
    81--90   & 8 \\
    91--100  & 3  \\
    }\dataku

\begin{tikzpicture}
    \begin{axis}[
    axis line style={bistref},
    axis x line = center,
    axis y line = left,
    axis x discontinuity=crunch,
    ybar,x=1cm,bar width=1cm,
    enlarge x limits=0.375,
    symbolic x coords={51--60,61--70,71--80,81--90,91--100},
    xtick=data,
    tickwidth=0pt,
    xlabel=Berat,
    xlabel style={at={(1,0)},right,font=\color{bistre}\small,text width=1cm,align=center},
    ytick=\empty,
    ylabel=Frekuensi,
    ylabel style={at={(0,1)},above,rotate=-90,font=\color{bistre}\small,text width=1cm,align=center},
    y tick label style={font=\color{bistre}\small},
    x tick label style={font=\color{bistre}\small,text width=1cm,align=center},
    nodes near coords,
    nodes near coords align={vertical},
    ymin=0,ymax=13,title=Histogram Berat Benda
    ]
    \addplot[draw=bistref,pattern=north west lines,pattern color=Tan] table[x=Berat,y=f]{\dataku};
    \end{axis}
\end{tikzpicture}
\end{document}



Penutup

Demikianlah, dokumen tersebut saya susun dalam jaringan melalui Online LaTeX Editor ShareLaTeX
Semoga bermanfaat.

Adjie Gumarang Pujakelana 2015


No comments:

Related Posts Plugin for WordPress, Blogger...