גרפי עמודות עם 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) | ספירת ערכים לתאים (bins) | לא נתמך: מתעלמים ממנו עם הודעה, והערכים הגולמיים מצוירים כקו |
מה שונה מהתקנת 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.