我正在使用绘制一组图表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}