Diagram batang dengan pgfplots
Tambahkan ybar (batang tegak) atau xbar (batang mendatar) ke axis pgfplots, beri nama kategori dengan symbolic x coords, dan berikan setiap seri sebagai \addplot dengan koordinat.
Batang tegak dengan kategori bernama
ybar pada sumbu mengubah setiap seri menjadi batang. symbolic x coords mencantumkan nama kategori secara berurutan, dan xtick=data menaruh satu tanda skala di bawah setiap batang.
Satu seri batang
\begin{tikzpicture}
\begin{axis}[
ybar, ymin=0,
symbolic x coords={Mon, Tue, Wed, Thu, Fri},
xtick=data,
ylabel={Visitors},
enlarge x limits=0.15,
]
\addplot coordinates {(Mon,44) (Tue,31) (Wed,38) (Thu,27) (Fri,40)};
\end{axis}
\end{tikzpicture}Batang dimulai dari nol. Tanpa ymin=0, sumbu menambahkan sedikit ruang di bawah nol, jadi atur opsi itu agar batang berdiri di atas bingkai. enlarge x limits menambahkan ruang di sisi kiri dan kanan, sehingga batang terluar tidak terpotong bingkai.
Batang berkelompok dan label nilai
Dengan beberapa seri, batang-batang setiap kategori berdiri berdampingan. nodes near coords mencetak setiap nilai di atas batangnya, dan bar width mengatur lebarnya (bawaan 10pt).
Dua seri, dengan nilai di atas batang
\begin{tikzpicture}
\begin{axis}[
ybar, ymin=0, ymax=55, bar width=12pt,
symbolic x coords={Erika, Hans, John},
xtick=data, enlarge x limits=0.25,
nodes near coords,
ylabel={Points},
legend style={at={(0.5,-0.12)}, anchor=north, legend columns=2},
]
\addplot coordinates {(Erika,44) (Hans,31) (John,38)};
\addplot coordinates {(Erika,40) (Hans,36) (John,29)};
\legend{Round 1, Round 2}
\end{axis}
\end{tikzpicture}ybar=4pt mengatur jarak antarbatang dalam satu kelompok (bawaan 2pt).
Batang bertumpuk
ybar stacked menumpuk seri-seri di atas satu sama lain, bukan berdampingan. \addplot kedua dimulai di tempat yang pertama berakhir.
Batang bertumpuk per kuartal
\begin{tikzpicture}
\begin{axis}[
ybar stacked, ymin=0, bar width=16pt,
symbolic x coords={Q1, Q2, Q3, Q4},
xtick=data, enlarge x limits=0.2,
legend pos=north west, ylabel={Sales},
]
\addplot coordinates {(Q1,12) (Q2,18) (Q3,15) (Q4,22)};
\addplot coordinates {(Q1,6) (Q2,9) (Q3,12) (Q4,10)};
\legend{Online, In store}
\end{axis}
\end{tikzpicture}Batang mendatar
xbar menggambar batang dari kiri ke kanan. Tukar peran kedua sumbu: kategori masuk ke symbolic y coords dan ytick=data, dan setiap koordinat ditulis sebagai (nilai, kategori).
Batang mendatar
\begin{tikzpicture}
\begin{axis}[
xbar, xmin=0, xmax=50,
symbolic y coords={Rust, Python, C},
ytick=data, enlarge y limits=0.3,
nodes near coords, xlabel={Projects},
width=8cm, height=5cm,
]
\addplot coordinates {(44,Rust) (31,Python) (12,C)};
\end{axis}
\end{tikzpicture}xbar stacked juga berfungsi.
Angka sebagai kategori
Tahun dan angka lain tidak memerlukan symbolic x coords: plot sebagai angka dan pakai xtick=data. pgfplots secara bawaan menulis 2024 sebagai "2,024"; matikan pemisah ribuan dalam gaya label tanda skala.
Tahun pada sumbu x
\begin{tikzpicture}
\begin{axis}[
ybar, ymin=0, xtick=data, enlarge x limits=0.25,
x tick label style={/pgf/number format/1000 sep=},
]
\addplot coordinates {(2023,18) (2024,31) (2025,44)};
\end{axis}
\end{tikzpicture}Ringkasan opsi
| Opsi | Fungsinya | Di Scissor LaTeX |
|---|---|---|
ybar, xbar | batang tegak atau mendatar, berdampingan | Berfungsi |
ybar=4pt | jarak antarbatang dalam satu kelompok | Berfungsi |
ybar stacked, xbar stacked | batang bertumpuk | Berfungsi pada sumbu linear |
bar width=12pt | lebar setiap batang | Berfungsi |
bar shift=.. | menggeser seri ke samping | Berfungsi |
nodes near coords | nilai di atas (atau di samping) setiap batang | Berfungsi |
symbolic x coords, symbolic y coords | kategori bernama | Berfungsi, kecuali nama yang tampak seperti angka (tanpa label tanda skala) |
xticklabel style={rotate=45, anchor=east} | nama kategori miring | Berfungsi |
ybar interval | batang yang mengisi ruang antarnilai x | Sebagian: digambar sebagai batang biasa pada nilai x |
hist (pustaka statistics) | menghitung nilai ke dalam kelas | Tidak didukung: diabaikan dengan pesan, nilai mentah digambar sebagai garis |
Apa yang berbeda dari instalasi TeX
Semua contoh di halaman ini juga bisa dikompilasi dengan pgfplots di instalasi TeX. Manual: ctan.org/pkg/pgfplots.
Lihat juga Dasar-dasar pgfplots, Batang galat, Data dari CSV, dan pgfplots.
Tanya jawab
Bagaimana cara membuat diagram batang di LaTeX?
Muat pgfplots lalu tulis \begin{axis}[ybar, symbolic x coords={A,B,C}, xtick=data] dengan satu \addplot coordinates {(A,3) (B,5) (C,2)}; per seri.
Bagaimana cara menampilkan nilai di atas batang?
Tambahkan nodes near coords ke opsi sumbu. Setiap batang mendapat nilainya sebagai label.
Bagaimana agar batang dimulai dari nol?
Batang sudah dimulai dari nol. Atur ymin=0 pada sumbu (atau xmin=0 untuk xbar) untuk menghapus ruang di bawahnya.
Setiap contoh di halaman ini ditata oleh Scissor LaTeX saat situs dibuat. Terakhir diperbarui 2026-11-07.