使用多列作为绘图 pgfplots 的 y 轴

使用多列作为绘图 pgfplots 的 y 轴

我正在使用绘制一组图表pgfplots,并从 csv 文件中加载数据。csv 文件包含已执行 10 次的测试结果,以及显示平均值的列。我使用以下代码绘制了一个图表,其中一列作为 x 轴,另一列作为 y 轴:

\addplot[
    color=blue,
    only marks,
    mark=+,
    mark size=2.9pt]
table[x={xColumn},y={AvgColumn}]
{file.csv};

但我需要绘制所有 10 列,我可以通过重复上述代码 10 次来实现这一点,每次使用不同的列名y={...},但这会使文档成为一场噩梦,因为我有多个图表,在某些情况下,我必须在同一个轴上绘制多组结果。我试过使用y={column1,column2,...},但这不起作用。有没有办法做这种事情,或者也许有办法设置所有设置一次然后重复使用它们 10 次(因此每列只需写一行)?

谢谢

答案1

您不必将 10 列分别绘制在单独的图中,PGFPLOTS 可以\addplot在相同的两个轴上处理多个列。您可以这样做:

\begin{tikzpicture}
\begin{axis}[<axis specifications>]
\addplot[
    color=blue,
    only marks,
    mark=+,
    mark size=2.9pt]
table[x={xColumn},y={AvgColumn}]
{file.csv};

\foreach \column in {1,...,10}{
  \addplot+[] table[x={xColumn},y={column\column}] {file.csv};
}
\end{axis}
\end{tikzpicture}

相关内容