Μετάβαση στο περιεχόμενο

Ραβδογράμματα με pgfplots

Προσθέστε ybar (κατακόρυφες ράβδοι) ή xbar (οριζόντιες ράβδοι) σε ένα axis του pgfplots, ονομάστε τις κατηγορίες με symbolic x coords και δώστε κάθε σειρά ως \addplot με συντεταγμένες.

Κατακόρυφες ράβδοι με ονομασμένες κατηγορίες

Το ybar στον άξονα μετατρέπει κάθε σειρά σε ράβδους. Το symbolic x coords παραθέτει τα ονόματα των κατηγοριών με τη σειρά, και το xtick=data βάζει μία υποδιαίρεση κάτω από κάθε ράβδο.

Μία σειρά ράβδων

LaTeXΠροοίμιο: \usepackage{pgfplots}Άνοιγμα στον επεξεργαστή (ανοίγει σε νέα καρτέλα)
\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 από προεπιλογή).

Δύο σειρές, με τιμές πάνω στις ράβδους

LaTeXΠροοίμιο: \usepackage{pgfplots}Άνοιγμα στον επεξεργαστή (ανοίγει σε νέα καρτέλα)
\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}
Στοιχειοθέτηση από το Scissor LaTeX: Δύο σειρές, με τιμές πάνω στις ράβδους

Το ybar=4pt ορίζει το κενό ανάμεσα στις ράβδους μιας ομάδας (2pt από προεπιλογή).

Στοιβαγμένες ράβδοι

Το ybar stacked βάζει τις σειρές τη μία πάνω στην άλλη αντί για δίπλα δίπλα. Το δεύτερο \addplot ξεκινά εκεί όπου τελειώνει το πρώτο.

Στοιβαγμένες ράβδοι ανά τρίμηνο

LaTeXΠροοίμιο: \usepackage{pgfplots}Άνοιγμα στον επεξεργαστή (ανοίγει σε νέα καρτέλα)
\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, και κάθε συντεταγμένη γράφεται ως (τιμή, κατηγορία).

Οριζόντιες ράβδοι

LaTeXΠροοίμιο: \usepackage{pgfplots}Άνοιγμα στον επεξεργαστή (ανοίγει σε νέα καρτέλα)
\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

LaTeXΠροοίμιο: \usepackage{pgfplots}Άνοιγμα στον επεξεργαστή (ανοίγει σε νέα καρτέλα)
\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.