ציור נתונים מקובץ CSV
מוסיפים את הקובץ לפרויקט וכותבים \addplot table[x=col1, y=col2, col sep=comma] {file.csv}; בתוך axis של pgfplots.
ציור של שתי עמודות מקובץ
מעלים את קובץ ה-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.8טמפרטורה לפי חודש מקובץ 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}גם קבצים בתיקייה עובדים: כותבים את הנתיב כמו שהוא בפרויקט, למשל {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 עדיין מוצא את הפסיקים, כך שהגרף מצויר, אבל לשונית הבעיות מבקשת להוסיף את האפשרות. התקנת 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
קובץ שלא נמצא בפרויקט משאיר את הגרף הזה בחוץ. הציר עדיין מצויר, ולשונית הבעיות מציינת את שם הקובץ החסר.
קובץ חסר
\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. לקווי שגיאה מעמודות, ראו קווי שגיאה.
שאלות ותשובות
איך מציירים קובץ CSV ב-LaTeX?
שמים את הקובץ בפרויקט וכותבים \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] משתמש ב-0, 1, 2 וכן הלאה כערכי x.
כל דוגמה בדף הזה מסודרת על ידי Scissor LaTeX בזמן בניית האתר. עודכן לאחרונה: 2026-11-07.