我想用 pgfplots 打印一个包含大量点的图。目前,我有类似以下内容的内容:
\begin{tikzpicture}
\begin{axis}
[
clip=false,
xlabel=Batches, ylabel=Error,
legend entries={Train error},
ymin = 0, ymax = 1
]
\addplot [mark=none] coordinates {
(1, 0.7254)
(2, 0.7254)
(3, 0.7245)
(4, 0.7200)
(5, 0.7125)
(6, 0.7112)
};
\end{axis}
\end{tikzpicture}
这很完美,但我将拥有更多点,它们可能来自一个文件,我想避免使用 1、2、3、4... 索引。我如何自动生成 x 坐标?它总是从 1 开始,每个值加一。这可能吗?
答案1
仅包含一列数字的示例data.dat
。使用 可找到 x 值x expr=\coordindex+1
。
% writes its contents to data.dat
\begin{filecontents*}{data.dat}
0.7254
0.7254
0.7254
0.7200
0.7125
0.7112
\end{filecontents*}
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
[
clip=false,
xlabel=Batches, ylabel=Error,
legend entries={Train error},
ymin = 0, ymax = 1
]
\addplot [mark=none] table[x expr=\coordindex+1,y index=0] {data.dat};
\end{axis}
\end{tikzpicture}
\end{document}