Memplot data dari file CSV
Tambahkan file itu ke proyek Anda lalu tulis \addplot table[x=col1, y=col2, col sep=comma] {file.csv}; di dalam axis pgfplots.
Plot dua kolom dari sebuah file
Unggah file CSV ke proyek Anda (atau buat di sana). Baris pertama memberi nama kolom. x= dan y= memilihnya berdasarkan nama, dan col sep=comma menyatakan bahwa nilai-nilainya dipisahkan koma.
Halaman ini memakai file kecil, 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.8Suhu per bulan dari file CSV
\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}File di dalam folder juga berfungsi: tulis jalurnya seperti di proyek, misalnya {data/weather.csv}.
Beberapa kolom, kolom galat, dan nilai hitungan
Baca file yang sama sekali per seri. y error= mengambil batang galat dari sebuah kolom, dan y expr= menghitung nilai dari baris tersebut, dengan \thisrow{name} untuk sebuah kolom.
Dua seri dari satu file
\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}Membaca tabel sekali saja
\pgfplotstableread membaca file ke dalam sebuah makro, yang kemudian bisa dipakai oleh setiap \addplot. Cara ini lebih ringkas jika tabel yang sama dipakai oleh beberapa plot.
\pgfplotstableread dan dua plot
\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 di dalam dokumen: filecontents
Kumpulan data kecil bisa disimpan di dalam file .tex itu sendiri. filecontents* menulis isinya sebagai file dengan nama tersebut, yang kemudian dibaca oleh \addplot table. Blok ini ada di preambul, sebelum \begin{document}.
Data yang ditulis dengan 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}Di sini kolom-kolom dipisahkan spasi, bawaan pgfplots, jadi col sep tidak diperlukan.
Opsi tabel
| Opsi | Fungsinya | Di Scissor LaTeX |
|---|---|---|
x=name, y=name | kolom berdasarkan nama | Berfungsi |
x index=0, y index=1 | kolom berdasarkan nomor, mulai dari 0 | Berfungsi |
col sep=comma | juga space, tab, semicolon, & | Berfungsi |
header=false | baris pertama berisi data, bukan nama | Berfungsi |
skip first n=2 | mengabaikan baris-baris pertama | Berfungsi |
x expr=, y expr= | menghitung nilai, dengan \thisrow{name}, \thisrowno{n}, atau \coordindex | Berfungsi |
y error=, x error= | kolom batang galat | Berfungsi |
comment chars=! | karakter komentar tambahan (baris # dan % selalu dilewati) | Berfungsi |
\pgfplotstableread | membaca tabel ke dalam makro | Berfungsi |
\pgfplotstabletypeset | mencetak tabel sebagai tabel LaTeX | Tidak didukung: dilewati dengan pesan |
Sel kosong, nan, dan inf dianggap sebagai nilai yang hilang dan ditinggalkan.
Jika terjadi masalah
Jika file .csv dibaca tanpa col sep=comma, Scissor LaTeX tetap menemukan komanya, sehingga plot tetap digambar, tetapi tab Masalah meminta Anda menambahkan opsi itu. Instalasi TeX tidak akan menebak, dan plotnya akan gagal di sana.
col sep tidak ada: tetap digambar, dengan pengingat
\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 Masalah: Add col sep=comma to read data-from-csv-weather.csv so it also works in LaTeX
File yang tidak ada di proyek membuat plot itu ditinggalkan. Sumbunya tetap digambar, dan tab Masalah menyebutkan nama file yang hilang.
File yang hilang
\begin{tikzpicture}
\begin{axis}[width=6cm, height=4.5cm]
\addplot table[col sep=comma] {results.csv};
\end{axis}
\end{tikzpicture}Tab Masalah: Data file not in the project: results.csv
Apa yang berbeda dari instalasi TeX
Semua yang ada di sini adalah sintaks pgfplots, jadi file-filenya juga bisa dikompilasi di instalasi TeX. Manual: ctan.org/pkg/pgfplots. Untuk batang galat dari kolom, lihat batang galat.
Tanya jawab
Bagaimana cara memplot file CSV di LaTeX?
Letakkan file itu di proyek lalu tulis \addplot table[x=a, y=b, col sep=comma] {file.csv}; di dalam sumbu, dengan nama kolom Anda sebagai a dan b.
CSV saya memakai titik koma. Apa yang harus saya tulis?
Pakai col sep=semicolon. Untuk tab, pakai col sep=tab.
Bisakah saya memplot sebuah kolom terhadap nomor baris?
Bisa: table[x expr=\coordindex, y=name] memakai 0, 1, 2, dan seterusnya sebagai nilai x.
Setiap contoh di halaman ini ditata oleh Scissor LaTeX saat situs dibuat. Terakhir diperbarui 2026-11-07.