Kali ini kita akan menggambar diagram batang, seperti tampak pada soal nomor 30 dari Ujian Nasional Mata Pelajaran Matematika SMK Kelompok Teknologi, Kesehatan, dan Pertanian Tahun Pelajaran 2014/2015 berikut ini.
Paket
Untuk keperluan ini kita akan menggunakan paket pgfplots. Selain itu, kita memerlukan library patterns dari paket tikz untuk pengarsiran batang. Dengan demikian pada preamble kita muat
\usepackage{tikz}
\usetikzlibrary{patterns}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
Opsi-opsi Grafik
1. Bidang Grafik
Pada sisi kiri dan kanan bidang grafik kita beri ruang kosong sejarak $\small{0.3}$ bagian.
enlarge x limits=0.3,
Untuk sumbu koordinat
axis x line=center,
axis y line=left,
Agar teks dapat diletakkan di atas batang, kita nyatakan
nodes near coords,
nodes near coords align={vertical},
2. Sumbu Y
Sumbu $\small{Y}$ kita "gunduli" dan nilainya dibatasi dari $\small{y=0}$ sampai dengan $\small{y=55}$.
ytick=\empty,
ymin=0,ymax=55,
Nama sumbu $\small{Y}$ kita ganti dengan "Jumlah Siswa" dan kita letakkan di atas mata panahnya.
ylabel={Jumlah Siswa},
ylabel style={at={(0,1)},above,rotate=-90,font=\small,text width=1cm,align=center},
3. Sumbu X
Pada sumbu $\small{X}$ kita sembunyikan penanda absis (tick mark) dengan
tickwidth=0pt,
kemudian nilai absisnya kita ganti dengan nama-nama jenis olah raga itu.
symbolic x coords={Sepak Bola,Volley,Bulu Tangkis,Basket},
Agar nama-nama itu tidak tercetak memanjang, maka kita batasi lebar tempatnya dengan
x tick label style={font=\small,text width=1cm,align=center},
Nama sumbu $\small{X}$ kita ganti dengan "Jenis Olah Raga" dan kita letakkan di kanan mata panahnya.
xlabel={Jenis Olah Raga},
xlabel style={at={(1,0)},right,font=\small,text width=1cm,align=center},
4. Pengaturan Lainnya
xtick=data,ybar=5pt,
kemudian kita atur jarak antarbatang dan lebar batang dengan
x=1cm,bar width=12pt
Grafik
Kita cukup menghimpun koordinat dari jenis olah raga dan banyak siswa yang menyukainya, tetapi kita tambahkan opsi pattern untuk mengarsir batang-batang yang terbentuk.
\addplot[pattern=north east lines] coordinates {(Sepak Bola,51) (Volley,33) (Bulu Tangkis,48) (Basket,18) };
Pengkodean dan Hasilnya
Berikut ini pengkodean selengkapnya untuk menggambar diagram batang seperti tampak pada soal di atas, kemudian hasilnya dapat Anda lihat dalam dokumen terlampir di bawahnya.
\documentclass{article} \usepackage{geometry} \usepackage{gentium} \usepackage{tikz} \usetikzlibrary{patterns} \usepackage{pgfplots} \pgfplotsset{compat=newest}% current version \begin{document} \centering \begin{tikzpicture} %\pgfplotsset{ticks=none} \begin{axis}[% %width=3in, %height=3in, axis x line=center, axis y line=left, enlarge x limits=0.3,%batas kiri-kanan nodes near coords, nodes near coords align={vertical}, ytick=\empty, ymin=0,ymax=55, ylabel={Jumlah Siswa}, ylabel style={at={(0,1)},above,rotate=-90,font=\small,text width=1cm,align=center}, tickwidth=0pt, symbolic x coords={Sepak Bola,Volley,Bulu Tangkis,Basket}, x tick label style={font=\small,text width=1cm,align=center}, xlabel={Jenis Olah Raga}, xlabel style={at={(1,0)},right,font=\small,text width=1cm,align=center}, xtick=data,ybar=5pt,x=1cm,bar width=12pt] \addplot[pattern=north east lines] coordinates {(Sepak Bola,51) (Volley,33) (Bulu Tangkis,48) (Basket,18) }; \end{axis} \end{tikzpicture} \end{document}
Penutup
Semoga bermanfaat.
Adjie Gumarang Pujakelana 2015
No comments:
Post a Comment