Como usar valores x específicos de um arquivo CSV para desenhar um gráfico xy?

Como usar valores x específicos de um arquivo CSV para desenhar um gráfico xy?

Eu tenho uma pergunta a respeito pgfplots. Eu tenho um arquivo CSV com pares xy. O arquivo CSV é muito grande (>10 mil entradas).

Quero traçar agora xvs y, mas apenas em algumas coordenadas x especificadas. Em outras palavras, quero usar um conjunto de dados reduzido do meu arquivo CSV original.

Por exemplo, suponha que x ultrapasse o intervalo [1.100] no arquivo de dados. Quero fazer um gráfico com as coordenadas x x1=0, x2=18, x3=76 and x4=89. Existe alguma oportunidade de obter automaticamente os valores y correspondentes do arquivo CSV ou preciso extrair esses valores externamente (Excel, Octave, ...)?

Para tornar tudo ainda mais complicado: suponha que eu tenha um valor x em x=12.1e em x=12.2. Existe uma oportunidade de usar a localização do ponto mais próximo (neste caso x=12,1) se estivermos interessados ​​no valor y correspondente em x=12,11?

Muito obrigado!

Responder1

Isso deve começar:

\documentclass{minimal}
\usepackage{csvsimple}
\usepackage{xifthen}

\newcommand{\execute}{\x,\y\par}

\begin{document}
\csvreader[head to column names]{test.csv}%
    {}%empty block
    {%x1=0, x2=18, x3=76 and x4=89
        \ifthenelse{\x= 0}{\execute}{\relax}%
        \ifthenelse{\x=18}{\execute}{\relax}%
        \ifthenelse{\x=76}{\execute}{\relax}%
        \ifthenelse{\x=89}{\execute}{\relax}%
    }
\end{document}

Ele assume um test.csvarquivo com duas colunas, a primeira rotulada xe a segunda y.

Se X nem sempre for um número inteiro e você quiser pular os valores intersticiais, será necessário arredondar antes de fazer o teste.

informação relacionada