Bar charts gamit ang pgfplots
Idagdag ang ybar (patayong bars) o xbar (pahigang bars) sa isang pgfplots axis, pangalanan ang mga category gamit ang symbolic x coords, at ibigay ang bawat series bilang isang \addplot na may coordinates.
Patayong bars na may pangalang category
Ginagawang bars ng ybar sa axis ang bawat series. Inililista ng symbolic x coords ang mga pangalan ng category nang sunod-sunod, at naglalagay ang xtick=data ng isang tick sa ilalim ng bawat bar.
Isang series ng bars
\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}Nagsisimula sa zero ang bars. Kung walang ymin=0, nagdadagdag ang axis ng kaunting espasyo sa ibaba ng zero, kaya itakda ito para nakatayo ang bars sa frame. Nagdadagdag ang enlarge x limits ng espasyo sa mga gilid, para hindi maputol ng frame ang mga bar sa dulo.
Grouped bars at value labels
Kapag maraming series, magkakatabi ang bars ng bawat category. Ipinapakita ng nodes near coords ang bawat value sa itaas ng bar nito, at itinatakda ng bar width ang lapad (10pt bilang default).
Dalawang series, may values sa bars
\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}Itinatakda ng ybar=4pt ang puwang sa pagitan ng bars ng isang grupo (2pt bilang default).
Stacked bars
Pinapatong ng ybar stacked ang mga series sa isa't isa sa halip na magkatabi. Nagsisimula ang pangalawang \addplot kung saan natapos ang una.
Stacked bars bawat quarter
\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}Pahigang bars
Iginuguhit ng xbar ang bars mula kaliwa pakanan. Pagpalitin ang papel ng mga axis: napupunta ang mga category sa symbolic y coords at ytick=data, at isinusulat ang bawat coordinate bilang (value, category).
Pahigang bars
\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}Gumagana rin ang xbar stacked.
Mga numero bilang category
Hindi kailangan ng symbolic x coords ang mga taon at iba pang numero: i-plot sila bilang numero at gamitin ang xtick=data. Bilang default, isinusulat ng pgfplots ang 2024 bilang "2,024"; i-off ang thousands separator sa tick label style.
Mga taon sa x axis
\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}Mga option sa isang tingin
| Option | Ano ang ginagawa nito | Sa Scissor LaTeX |
|---|---|---|
ybar, xbar | patayo o pahigang bars, magkakatabi | Gumagana |
ybar=4pt | ang puwang sa pagitan ng bars ng isang grupo | Gumagana |
ybar stacked, xbar stacked | bars na nakapatong sa isa't isa | Gumagana sa linear axes |
bar width=12pt | ang lapad ng bawat bar | Gumagana |
bar shift=.. | ilipat pagilid ang isang series | Gumagana |
nodes near coords | ang value sa itaas (o sa tabi) ng bawat bar | Gumagana |
symbolic x coords, symbolic y coords | mga pangalang category | Gumagana, maliban sa mga pangalang mukhang numero (walang tick labels) |
xticklabel style={rotate=45, anchor=east} | nakahilig na pangalan ng category | Gumagana |
ybar interval | bars na pumupuno sa espasyo sa pagitan ng x values | Bahagya: iginuguhit bilang karaniwang bars sa x values |
hist (statistics library) | bilangin ang values sa bins | Hindi suportado: binabalewala nang may mensahe, iginuguhit ang raw values bilang linya |
Ang naiiba sa isang TeX installation
Nagko-compile din sa pgfplots sa isang TeX installation ang lahat ng halimbawa sa page na ito. Manual: ctan.org/pkg/pgfplots.
Tingnan din ang mga pangunahing kaalaman sa pgfplots, Error bars, Data mula sa CSV at pgfplots.
Mga tanong at sagot
Paano ako gagawa ng bar chart sa LaTeX?
I-load ang pgfplots at isulat ang \begin{axis}[ybar, symbolic x coords={A,B,C}, xtick=data] na may isang \addplot coordinates {(A,3) (B,5) (C,2)}; bawat series.
Paano ko ipapakita ang values sa itaas ng bars?
Idagdag ang nodes near coords sa axis options. Nakukuha ng bawat bar ang value nito bilang label.
Paano ko pasisimulain sa zero ang bars?
Nagsisimula na sila sa zero. Itakda ang ymin=0 sa axis (o xmin=0 para sa xbar) para alisin ang espasyo sa ilalim nila.
Bawat halimbawa sa page na ito ay tina-typeset ng Scissor LaTeX kapag binubuo ang site. Huling na-update noong 2026-11-07.