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