Lumaktaw sa nilalaman

Pag-plot ng data mula sa isang CSV file

Idagdag ang file sa project mo at isulat ang \addplot table[x=col1, y=col2, col sep=comma] {file.csv}; sa loob ng isang pgfplots axis.

Mag-plot ng dalawang column ng isang file

I-upload ang CSV file sa project mo (o gawin ito roon). Pinapangalanan ng unang linya ang mga column. Pinipili sila ng x= at y= ayon sa pangalan, at sinasabi ng col sep=comma na mga comma ang naghihiwalay sa values.

Gumagamit ang page na ito ng maliit na file, ang 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

Temperatura bawat buwan mula sa isang CSV file

LaTeXPreamble: \usepackage{pgfplots}Buksan sa editor (magbubukas sa bagong tab)
\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}
Na-typeset ng Scissor LaTeX: Temperatura bawat buwan mula sa isang CSV file

Gumagana rin ang mga file sa loob ng folder: isulat ang path gaya sa project, halimbawa {data/weather.csv}.

Ilang column, error columns at kinalkulang values

Basahin ang parehong file nang isang beses bawat series. Kumukuha ang y error= ng error bars mula sa isang column, at nagkakalkula ang y expr= ng value mula sa row, gamit ang \thisrow{name} para sa isang column.

Dalawang series mula sa iisang file

LaTeXPreamble: \usepackage{pgfplots}Buksan sa editor (magbubukas sa bagong tab)
\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}
Na-typeset ng Scissor LaTeX: Dalawang series mula sa iisang file

Pagbasa ng table nang isang beses

Binabasa ng \pgfplotstableread ang isang file papunta sa isang macro, na magagamit ng bawat \addplot. Mas maikli ito kapag iisang table ang pinagkukunan ng ilang plot.

\pgfplotstableread at dalawang plot

LaTeXPreamble: \usepackage{pgfplots}Buksan sa editor (magbubukas sa bagong tab)
\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}

Data sa loob ng dokumento: filecontents

Puwedeng nasa mismong .tex file ang maliliit na data set. Isinusulat ng filecontents* ang laman nito bilang file na may ganoong pangalan, na binabasa naman ng \addplot table. Nasa preamble ang file, bago ang \begin{document}.

Data na isinulat gamit ang 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}

Dito, pinaghihiwalay ng mga space ang mga column, ang default ng pgfplots, kaya hindi kailangan ang col sep.

Mga table option

OptionAno ang ginagawa nitoSa Scissor LaTeX
x=name, y=namecolumns ayon sa pangalanGumagana
x index=0, y index=1columns ayon sa numero, mula 0Gumagana
col sep=commapati space, tab, semicolon, &Gumagana
header=falsedata ang unang linya, hindi mga pangalanGumagana
skip first n=2balewalain ang mga unang linyaGumagana
x expr=, y expr=magkalkula ng value, gamit ang \thisrow{name}, \thisrowno{n} o \coordindexGumagana
y error=, x error=mga column ng error barGumagana
comment chars=!dagdag na comment characters (laging nilalaktawan ang mga linyang # at %)Gumagana
\pgfplotstablereadbasahin ang table papunta sa isang macroGumagana
\pgfplotstabletypeseti-print ang table bilang LaTeX tableHindi suportado: nilalaktawan nang may mensahe

Itinuturing na nawawalang values at hindi isinasama ang mga walang laman na cell, nan at inf.

Kapag may nagkamali

Kung binasa ang isang .csv file nang walang col sep=comma, nahahanap pa rin ng Scissor LaTeX ang mga comma, kaya iginuguhit ang plot, pero hinihiling ng Problems tab na idagdag mo ang option. Hindi manghuhula ang isang TeX installation, at papalya roon ang plot.

Walang col sep: iginuhit, may paalala

LaTeXPreamble: \usepackage{pgfplots}Buksan sa editor (magbubukas sa bagong tab)
\begin{tikzpicture}
  \begin{axis}[width=6cm, height=4.5cm]
    \addplot table[x=month, y=temp] {data-from-csv-weather.csv};
  \end{axis}
\end{tikzpicture}

Tab na Problems: Add col sep=comma to read data-from-csv-weather.csv so it also works in LaTeX

Hindi isinasama ang plot kapag wala sa project ang file nito. Iginuguhit pa rin ang axis, at pinapangalanan ng Problems tab ang nawawalang file.

Nawawalang file

LaTeXPreamble: \usepackage{pgfplots}Buksan sa editor (magbubukas sa bagong tab)
\begin{tikzpicture}
  \begin{axis}[width=6cm, height=4.5cm]
    \addplot table[col sep=comma] {results.csv};
  \end{axis}
\end{tikzpicture}

Tab na Problems: Data file not in the project: results.csv

Ang naiiba sa isang TeX installation

Syntax ng pgfplots ang lahat ng narito, kaya nagko-compile din ang mga file sa isang TeX installation. Manual: ctan.org/pkg/pgfplots. Para sa error bars mula sa mga column, tingnan ang error bars.

Mga tanong at sagot

Paano ako magpa-plot ng CSV file sa LaTeX?

Ilagay ang file sa project at isulat ang \addplot table[x=a, y=b, col sep=comma] {file.csv}; sa isang axis, gamit ang mga pangalan ng column mo para sa a at b.

Semicolon ang gamit ng CSV ko. Ano ang isusulat ko?

Gamitin ang col sep=semicolon. Para sa tabs, gamitin ang col sep=tab.

Puwede ba akong mag-plot ng column laban sa row number?

Oo: ginagamit ng table[x expr=\coordindex, y=name] ang 0, 1, 2 at iba pa bilang x values.

Bawat halimbawa sa page na ito ay tina-typeset ng Scissor LaTeX kapag binubuo ang site. Huling na-update noong 2026-11-07.