Use várias colunas como eixo y para um gráfico pgfplots

Use várias colunas como eixo y para um gráfico pgfplots

Estou traçando um conjunto de gráficos usando pgfplotse carregando os dados de um arquivo csv. O arquivo csv contém os resultados de um teste que foi executado 10 vezes e uma coluna mostrando a média. Plotei um gráfico usando uma coluna como eixo x e outra como eixo y usando o seguinte código:

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

mas o que preciso fazer é plotar todas as 10 colunas, eu poderia conseguir isso repetindo o código acima 10 vezes de cada vez usando um nome de coluna diferente y={...}, no entanto, isso tornará o documento um pesadelo, pois tenho vários gráficos e, em alguns casos, tenho que plotar mais de um conjunto de resultados no mesmo eixo. Tentei usar y={column1,column2,...}, mas não funcionou. Existe alguma maneira de fazer algo desse tipo, ou talvez uma maneira de definir todas as configurações uma vez e reutilizá-las 10 vezes (tendo que escrever apenas uma linha por coluna)?

Obrigado

Responder1

Você não precisa plotar as 10 colunas cada uma em uma figura separada, o PGFPLOTS pode lidar com mais de uma \addplotnos mesmos dois eixos. Aqui está como você pode fazer isso:

\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}

informação relacionada