Ραβδογράμματα με pgfplots
Προσθέστε ybar (κατακόρυφες ράβδοι) ή xbar (οριζόντιες ράβδοι) σε ένα axis του pgfplots, ονομάστε τις κατηγορίες με symbolic x coords και δώστε κάθε σειρά ως \addplot με συντεταγμένες.
Κατακόρυφες ράβδοι με ονομασμένες κατηγορίες
Το ybar στον άξονα μετατρέπει κάθε σειρά σε ράβδους. Το symbolic x coords παραθέτει τα ονόματα των κατηγοριών με τη σειρά, και το xtick=data βάζει μία υποδιαίρεση κάτω από κάθε ράβδο.
Μία σειρά ράβδων
\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}Οι ράβδοι ξεκινούν από το μηδέν. Χωρίς ymin=0 ο άξονας προσθέτει λίγο χώρο κάτω από το μηδέν, οπότε ορίστε το ώστε οι ράβδοι να πατούν στο πλαίσιο. Το enlarge x limits προσθέτει χώρο στα πλάγια, ώστε οι ακριανές ράβδοι να μην κόβονται από το πλαίσιο.
Ομαδοποιημένες ράβδοι και ετικέτες τιμών
Με πολλές σειρές, οι ράβδοι κάθε κατηγορίας στέκονται δίπλα δίπλα. Το nodes near coords τυπώνει κάθε τιμή πάνω από τη ράβδο της, και το bar width ορίζει το πλάτος (10pt από προεπιλογή).
Δύο σειρές, με τιμές πάνω στις ράβδους
\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 ορίζει το κενό ανάμεσα στις ράβδους μιας ομάδας (2pt από προεπιλογή).
Στοιβαγμένες ράβδοι
Το ybar stacked βάζει τις σειρές τη μία πάνω στην άλλη αντί για δίπλα δίπλα. Το δεύτερο \addplot ξεκινά εκεί όπου τελειώνει το πρώτο.
Στοιβαγμένες ράβδοι ανά τρίμηνο
\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}Οριζόντιες ράβδοι
Το xbar σχεδιάζει τις ράβδους από αριστερά προς τα δεξιά. Αντιστρέψτε τους ρόλους των αξόνων: οι κατηγορίες μπαίνουν στο symbolic y coords και στο ytick=data, και κάθε συντεταγμένη γράφεται ως (τιμή, κατηγορία).
Οριζόντιες ράβδοι
\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.
Αριθμοί ως κατηγορίες
Τα έτη και άλλοι αριθμοί δεν χρειάζονται symbolic x coords: σχεδιάστε τους ως αριθμούς και χρησιμοποιήστε xtick=data. Το pgfplots γράφει από προεπιλογή το 2024 ως «2,024»· απενεργοποιήστε το διαχωριστικό χιλιάδων στο στυλ των ετικετών υποδιαίρεσης.
Έτη στον άξονα 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}Οι επιλογές με μια ματιά
| Επιλογή | Τι κάνει | Στο Scissor LaTeX |
|---|---|---|
ybar, xbar | κατακόρυφες ή οριζόντιες ράβδοι, δίπλα δίπλα | Λειτουργεί |
ybar=4pt | το κενό ανάμεσα στις ράβδους μιας ομάδας | Λειτουργεί |
ybar stacked, xbar stacked | ράβδοι η μία πάνω στην άλλη | Λειτουργεί σε γραμμικούς άξονες |
bar width=12pt | το πλάτος κάθε ράβδου | Λειτουργεί |
bar shift=.. | μετατόπιση μιας σειράς στο πλάι | Λειτουργεί |
nodes near coords | η τιμή πάνω από (ή δίπλα σε) κάθε ράβδο | Λειτουργεί |
symbolic x coords, symbolic y coords | ονομασμένες κατηγορίες | Λειτουργεί, εκτός από ονόματα που μοιάζουν με αριθμούς (χωρίς ετικέτες υποδιαίρεσης) |
xticklabel style={rotate=45, anchor=east} | πλάγια ονόματα κατηγοριών | Λειτουργεί |
ybar interval | ράβδοι που γεμίζουν τον χώρο ανάμεσα στις τιμές x | Εν μέρει: σχεδιάζονται ως κανονικές ράβδοι στις τιμές x |
hist (βιβλιοθήκη statistics) | καταμέτρηση τιμών σε κλάσεις | Δεν υποστηρίζεται: αγνοείται με ένα μήνυμα, οι αρχικές τιμές σχεδιάζονται ως γραμμή |
Τι διαφέρει από μια εγκατάσταση TeX
Όλα τα παραδείγματα αυτής της σελίδας μεταγλωττίζονται και με το pgfplots σε μια εγκατάσταση TeX. Εγχειρίδιο: ctan.org/pkg/pgfplots.
Δείτε επίσης Βασικά του pgfplots, Ράβδοι σφάλματος, Δεδομένα από CSV και pgfplots.
Ερωτήσεις και απαντήσεις
Πώς φτιάχνω ένα ραβδόγραμμα στο LaTeX;
Φορτώστε το pgfplots και γράψτε \begin{axis}[ybar, symbolic x coords={A,B,C}, xtick=data] με ένα \addplot coordinates {(A,3) (B,5) (C,2)}; ανά σειρά.
Πώς εμφανίζω τις τιμές πάνω από τις ράβδους;
Προσθέστε nodes near coords στις επιλογές του άξονα. Κάθε ράβδος παίρνει την τιμή της ως ετικέτα.
Πώς κάνω τις ράβδους να ξεκινούν από το μηδέν;
Ξεκινούν ήδη από το μηδέν. Ορίστε ymin=0 στον άξονα (ή xmin=0 για xbar) για να αφαιρέσετε τον χώρο από κάτω τους.
Κάθε παράδειγμα σε αυτή τη σελίδα στοιχειοθετείται από το Scissor LaTeX κατά τη δημιουργία του ιστότοπου. Τελευταία ενημέρωση: 2026-11-07.