Setelah menggambar diagram lingkaran dan diagram batang, kali ini kita lanjutkan dengan menggambar histogram, seperti tampak pada gambar di samping ini.
Paket
Untuk ini pun akan kita gunakan paket pgfplots dan library patterns dari paket tikz untuk pengarsiran batang. Dengan demikian pada preamble kita muat
\usepackage{tikz}
\usetikzlibrary{patterns}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
Agar ukuran dari gambar histogram ini tidak terlalu besar, dapat kita atur skala gambar kita pada opsi gambar tikz. Sebagai contoh, saya gunakan
\begin{tikzpicture}[scale=.9]
\begin{axis}[...]
...
\end{axis}
\end{tikzpicture}
Opsi-opsi Grafik
Untuk gambar pada contoh di atas, sumbu $\small{X}$ kita letakkan di tengah sedangkan sumbu $\small{Y}$ diletakkan di kiri.
axis x line=center,
axis y line=left,
Untuk "menyingkat" nilai-nilai di kiri dari tepi bawah kelas pertama, kita buat lekukan semacam itu. Lekukan tersebut dibuat oleh opsi
axis x discontinuity=crunch,
Perhatikan bahwa kita akan mengganti nilai-nilai absis pada sumbu $\small{X}$ oleh nilai dari tepi-tepi kelas dari data berkelompok. Untuk 5 kelas dari data itu kita nyatakansymbolic x coords={$50.5$,$60.5$,$70.5$,$80.5$,$90.5$,$100.5$},
Kemudian kita nyatakan frekuensi untuk tiap kelas yang bersesuaian
ytick={3,8,10,11},
sehingga nilai $\small{y}$ dapat kita batasi (subjektif) dengan
ymin=0,ymax=13,
xtick=data,
Selanjutnya kita dapat mengatur (secara subjektif) jarak antarbatang, lebar tiap batang, dan ruang kosong sebelum batang pertama dan setelah batang terakhir.
x=1cm, bar width=10pt, enlarge x limits=0.15,
Untuk menempatkan tiap nilai absis dan ordinat kita nyatakan
ylabel near ticks,
xlabel near ticks,
Sekarang kita namai sumbu $\small{X}$ sebagai "Umur", meletakkannya di kanan, dan menggunakan huruf berukuran small
xlabel=Umur,
xlabel style={at={(1,0)},right,font=\small,text width=1cm,align=center},
dan menamai sumbu $\small{Y}$ sebagai "Frekuensi", meletakkannya di atas, dan menggunakan huruf berukuran small
ylabel=Frekuensi,
ylabel style={at={(0,1)},above,rotate=-90,font=\small,text width=1cm,align=center},
Demikian pula nama-nama absis dan ordinat kita buat saja dengan huruf berukuran small.
y tick label style={font=\small},
x tick label style={font=\small,text width=1cm,align=center}
Grafik
Sekarang kita gambar histogram itu dengan cara menghimpun dan merangkai koordinat dari tepi kelas dan frekuensinya secara berurutan, tetapi kita tambahkan opsi pattern untuk mengarsir batang-batang yang terbentuk.
\addplot[ybar interval,pattern=north west lines] coordinates{($50.5$,8)($60.5$,10)($70.5$,11)($80.5$,8)($90.5$,3)($100.5$,3)};
Pengkodean dan Hasilnya
Nah, berikut ini pengkodean selengkapnya untuk menggambar histogram seperti tampak pada soal di atas (dalam warna asal, hitam), kemudian hasilnya dapat Anda lihat dalam dokumen terlampir di bawahnya.
\documentclass{article}
\usepackage{utopia}
\usepackage{geometry}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{patterns}
\begin{document}
\centering
\begin{tikzpicture}[scale=.9]
\begin{axis}[
axis x line=center,
axis y line=left,
axis x discontinuity=crunch,
symbolic x coords={$50.5$,$60.5$,$70.5$,$80.5$,$90.5$,$100.5$},
ytick={3,8,10,11},
ymin=0,ymax=13,
xtick=data,
x=1cm,bar width=10pt,enlarge x limits=0.15,
ylabel near ticks,
xlabel near ticks,
xlabel=Umur,
xlabel style={at={(1,0)},right,font=\small,text width=1cm,align=center},
ylabel=Frekuensi,
ylabel style={at={(0,1)},above,rotate=-90,font=\small,text width=1cm,align=center},
y tick label style={font=\small},
x tick label style={font=\small,text width=1cm,align=center}
]
\addplot[ybar interval,pattern=north west lines] coordinates{($50.5$,8)($60.5$,10)($70.5$,11)($80.5$,8)($90.5$,3)($100.5$,3)};
\end{axis}
\end{tikzpicture}
\end{document}
Penutup
Semoga bermanfaat.
Adjie Gumarang Pujakelana 2015
No comments:
Post a Comment