pgfplots দিয়ে বার চার্ট
একটি pgfplots axis-এ ybar (খাড়া বার) বা xbar (আনুভূমিক বার) যোগ করুন, 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 ইনস্টলেশন থেকে কী আলাদা
এই পেজের সব উদাহরণ একটি 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।