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 इस्तेमाल करता है:
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.8CSV फ़ाइल से हर महीने का तापमान
\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}फ़ोल्डर में रखी फ़ाइलें भी काम करती हैं: पाथ वैसे ही लिखें जैसे प्रोजेक्ट में है, जैसे {data/weather.csv}।
कई कॉलम, एरर कॉलम और गणना की गई वैल्यू
हर सीरीज़ के लिए एक ही फ़ाइल एक बार पढ़ें। y error= किसी कॉलम से एरर बार लेता है, और y expr= पंक्ति से एक वैल्यू गणना करता है, किसी कॉलम के लिए \thisrow{name} के साथ।
एक फ़ाइल से दो सीरीज़
\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}टेबल को एक बार पढ़ना
\pgfplotstableread एक फ़ाइल को एक मैक्रो में पढ़ता है, जिसे फिर हर \addplot इस्तेमाल कर सकता है। जब एक ही टेबल कई प्लॉट में जाती है, तो यह छोटा पड़ता है।
\pgfplotstableread और दो प्लॉट
\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 फिर भी कॉमा ढूँढ लेता है, इसलिए प्लॉट ड्रॉ होता है, पर Problems टैब आपसे ऑप्शन जोड़ने को कहता है। TeX इंस्टॉलेशन अंदाज़ा नहीं लगाता, और वहाँ प्लॉट फ़ेल हो जाता।
col sep गायब: याद दिलाने के साथ ड्रॉ होता है
\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
जो फ़ाइल प्रोजेक्ट में नहीं है, उसका प्लॉट छूट जाता है। ऐक्सिस फिर भी ड्रॉ होता है, और Problems टैब गायब फ़ाइल का नाम बताता है।
एक गायब फ़ाइल
\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।