مواد پر جائیں

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=commaنیز space، 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۔