使用多列作為繪圖的 y 軸 pgfplots

使用多列作為繪圖的 y 軸 pgfplots

我正在使用 繪製一組圖表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}

相關內容