মূল অংশে যান

একটি CSV ফাইল থেকে ডেটা প্লট করা

ফাইলটি আপনার প্রজেক্টে যোগ করুন আর একটি pgfplots axis-এর ভেতরে লিখুন \addplot table[x=col1, y=col2, col sep=comma] {file.csv};।

একটি ফাইলের দুটি কলাম প্লট করুন

CSV ফাইলটি আপনার প্রজেক্টে আপলোড করুন (অথবা সেখানেই তৈরি করুন)। প্রথম লাইনটি কলামগুলোর নাম দেয়। x= আর y= নাম দিয়ে সেগুলো বেছে নেয়, আর col sep=comma বলে যে মানগুলো কমা দিয়ে আলাদা করা।

এই পেজটি একটি ছোট ফাইল ব্যবহার করে, data-from-csv-weather.csv:

CSV
month,temp,rain,sd
1,1.2,44,0.8
2,2.0,38,0.7
3,5.6,41,0.9
...
12,2.3,46,0.8

একটি CSV ফাইল থেকে মাসভিত্তিক তাপমাত্রা

LaTeXপ্রিঅ্যাম্বল: \usepackage{pgfplots}এডিটরে খুলুন (নতুন ট্যাবে খোলে)
\begin{tikzpicture}
  \begin{axis}[xlabel={Month}, ylabel={Temperature ($^\circ$C)}, xtick={1,...,12}]
    \addplot table[x=month, y=temp, col sep=comma] {data-from-csv-weather.csv};
  \end{axis}
\end{tikzpicture}
Scissor LaTeX টাইপসেট করেছে: একটি CSV ফাইল থেকে মাসভিত্তিক তাপমাত্রা

একটি ফোল্ডারের ভেতরের ফাইলও কাজ করে: প্রজেক্টে যেভাবে আছে সেভাবে পাথটি লিখুন, যেমন {data/weather.csv}।

একাধিক কলাম, এররের কলাম আর হিসাব করা মান

প্রতিটি সিরিজের জন্য একই ফাইল একবার করে পড়ুন। y error= একটি কলাম থেকে এরর বার নেয়, আর y expr= সারি থেকে একটি মান হিসাব করে, একটি কলামের জন্য \thisrow{name} দিয়ে।

একটি ফাইল থেকে দুটি সিরিজ

LaTeXপ্রিঅ্যাম্বল: \usepackage{pgfplots}এডিটরে খুলুন (নতুন ট্যাবে খোলে)
\begin{tikzpicture}
  \begin{axis}[xlabel={Month}, ylabel={Value}, legend pos=north west, ymin=0]
    \addplot+[error bars/.cd, y dir=both, y explicit]
      table[x=month, y=temp, y error=sd, col sep=comma] {data-from-csv-weather.csv};
    \addplot+[mark=none, dashed]
      table[x=month, y expr=\thisrow{rain}/2, col sep=comma] {data-from-csv-weather.csv};
    \legend{Temperature ($^\circ$C), Rain / 2 (mm)}
  \end{axis}
\end{tikzpicture}
Scissor LaTeX টাইপসেট করেছে: একটি ফাইল থেকে দুটি সিরিজ

একটি টেবিল একবার পড়া

\pgfplotstableread একটি ফাইলকে একটি ম্যাক্রোতে পড়ে নেয়, যা পরে প্রতিটি \addplot ব্যবহার করতে পারে। একই টেবিল যখন একাধিক প্লটে ডেটা জোগায়, তখন এটি ছোট হয়।

\pgfplotstableread আর দুটি প্লট

LaTeXপ্রিঅ্যাম্বল: \usepackage{pgfplots}এডিটরে খুলুন (নতুন ট্যাবে খোলে)
\pgfplotstableread[col sep=comma]{data-from-csv-weather.csv}\weather
\begin{tikzpicture}
  \begin{axis}[ybar, bar width=6pt, ymin=0, xlabel={Month}, ylabel={Rain (mm)},
               xtick={1,...,12}, enlarge x limits=0.06]
    \addplot table[x=month, y=rain] {\weather};
  \end{axis}
\end{tikzpicture}

ডকুমেন্টের ভেতরেই ডেটা: filecontents

ছোট ডেটা সেট .tex ফাইলের ভেতরেই থাকতে পারে। filecontents* তার বিষয়বস্তু ওই নামের একটি ফাইল হিসেবে লেখে, যা পরে \addplot table পড়ে। ফাইলটি প্রিঅ্যাম্বলে থাকে, \begin{document}-এর আগে।

filecontents* দিয়ে লেখা ডেটা

\documentclass{article}
\usepackage{pgfplots}
\begin{filecontents*}{speed.dat}
t   v
0   0
1   4.4
2   8.1
3   11.0
4   13.2
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[xlabel={Time (s)}, ylabel={Speed (m/s)}]
    \addplot table[x=t, y=v] {speed.dat};
  \end{axis}
\end{tikzpicture}
\end{document}

এখানে কলামগুলো স্পেস দিয়ে আলাদা, যা pgfplots-এর ডিফল্ট, তাই col sep লাগে না।

টেবিলের অপশন

অপশনকী করেScissor LaTeX-এ
x=name, y=nameনাম দিয়ে কলামকাজ করে
x index=0, y index=1নম্বর দিয়ে কলাম, 0 থেকেকাজ করে
col sep=commaspace, tab, semicolon, &-ওকাজ করে
header=falseপ্রথম লাইনটি ডেটা, নাম নয়কাজ করে
skip first n=2প্রথম লাইনগুলো উপেক্ষা করেকাজ করে
x expr=, y expr=\thisrow{name}, \thisrowno{n} বা \coordindex দিয়ে একটি মান হিসাব করেকাজ করে
y error=, x error=এরর বারের কলামকাজ করে
comment chars=!আরও কমেন্ট অক্ষর (# আর % লাইন সবসময় বাদ পড়ে)কাজ করে
\pgfplotstablereadএকটি টেবিলকে একটি ম্যাক্রোতে পড়েকাজ করে
\pgfplotstabletypesetএকটি টেবিলকে LaTeX টেবিল হিসেবে ছাপায়সমর্থিত নয়: একটি বার্তাসহ বাদ পড়ে

খালি ঘর, nan আর inf অনুপস্থিত মান হিসেবে গণ্য হয় এবং বাদ পড়ে।

যখন কিছু ভুল হয়

একটি .csv ফাইল col sep=comma ছাড়া পড়া হলেও Scissor LaTeX কমাগুলো খুঁজে নেয়, তাই প্লটটি আঁকা হয়, কিন্তু সমস্যা ট্যাব আপনাকে অপশনটি যোগ করতে বলে। একটি TeX ইনস্টলেশন অনুমান করত না, আর সেখানে প্লটটি ব্যর্থ হতো।

col sep নেই: আঁকা হয়, একটি অনুস্মারকসহ

LaTeXপ্রিঅ্যাম্বল: \usepackage{pgfplots}এডিটরে খুলুন (নতুন ট্যাবে খোলে)
\begin{tikzpicture}
  \begin{axis}[width=6cm, height=4.5cm]
    \addplot table[x=month, y=temp] {data-from-csv-weather.csv};
  \end{axis}
\end{tikzpicture}

সমস্যা ট্যাব: Add col sep=comma to read data-from-csv-weather.csv so it also works in LaTeX

প্রজেক্টে নেই এমন একটি ফাইল থাকলে সেই প্লটটি বাদ পড়ে। অক্ষটি তবুও আঁকা হয়, আর সমস্যা ট্যাবে অনুপস্থিত ফাইলটির নাম দেখায়।

একটি অনুপস্থিত ফাইল

LaTeXপ্রিঅ্যাম্বল: \usepackage{pgfplots}এডিটরে খুলুন (নতুন ট্যাবে খোলে)
\begin{tikzpicture}
  \begin{axis}[width=6cm, height=4.5cm]
    \addplot table[col sep=comma] {results.csv};
  \end{axis}
\end{tikzpicture}

সমস্যা ট্যাব: Data file not in the project: results.csv

একটি TeX ইনস্টলেশন থেকে কী আলাদা

এখানকার সবকিছু pgfplots সিনট্যাক্স, তাই ফাইলগুলো একটি TeX ইনস্টলেশনেও কম্পাইল হয়। ম্যানুয়াল: ctan.org/pkg/pgfplots। কলাম থেকে এরর বারের জন্য দেখুন এরর বার।

প্রশ্ন ও উত্তর

LaTeX-এ আমি কীভাবে একটি CSV ফাইল প্লট করব?

ফাইলটি প্রজেক্টে রাখুন আর একটি অক্ষে লিখুন \addplot table[x=a, y=b, col sep=comma] {file.csv};, a আর b-এর জায়গায় আপনার কলামের নাম দিয়ে।

আমার CSV সেমিকোলন ব্যবহার করে। আমি কী লিখব?

col sep=semicolon ব্যবহার করুন। ট্যাবের জন্য col sep=tab।

সারির নম্বরের বিপরীতে কি একটি কলাম প্লট করা যায়?

হ্যাঁ: table[x expr=\coordindex, y=name] x মান হিসেবে 0, 1, 2 ইত্যাদি ব্যবহার করে।

সাইট তৈরির সময় এই পেজের প্রতিটি উদাহরণ Scissor LaTeX টাইপসেট করে। সর্বশেষ আপডেট: 2026-11-07।