सामग्री पर जाएँ

pgfplots से बार चार्ट

pgfplots axis में ybar (खड़े बार) या xbar (आड़े बार) जोड़ें, 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 intervalx वैल्यू के बीच की जगह भरने वाले बारआंशिक: x वैल्यू पर सामान्य बार के रूप में ड्रॉ होते हैं
hist (statistics लाइब्रेरी)वैल्यू को बिन में गिननासपोर्टेड नहीं: मैसेज के साथ अनदेखा, कच्ची वैल्यू लाइन के रूप में ड्रॉ होती हैं

TeX इंस्टॉलेशन से क्या अलग है

इस पेज के सभी उदाहरण TeX इंस्टॉलेशन में pgfplots के साथ भी कंपाइल होते हैं। मैनुअल: 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 सेट करें (या xbar के लिए xmin=0)।

इस पेज का हर उदाहरण साइट बनते समय Scissor LaTeX टाइपसेट करता है। पिछला अपडेट: 2026-11-07।