דילוג לתוכן

גרפי עמודות עם 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)ספירת ערכים לתאים (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.