דילוג לתוכן

ציור נתונים מקובץ 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:

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. לקווי שגיאה מעמודות, ראו קווי שגיאה.

שאלות ותשובות

איך מציירים קובץ 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.