Como pular alguns pontos de dados em pgfplots?

Como pular alguns pontos de dados em pgfplots?

Eu uso o Mathematica para exportar os pontos de dados e uso o pgfplots para traçar a figura. O arquivo de dados contém alguns pontos cujo valor y é Indeterminado. Um mwe pode ser dado por

\documentclass{article}
\usepackage{pgfplotstable,pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\pgfplotstableread{
    x y
    1 2
    2 4
    3 Indeterminate
    4 7
}\mydata
    \begin{tikzpicture}
        \begin{axis}
            \addplot table {\mydata};
        \end{axis}
    \end{tikzpicture}
\end{document}

Eu quero pular esses pontos. Como eu posso fazer isso?

Responder1

Você pode salvar a tabela em um arquivo, indicando o que deseja string replace={Indeterminate}{inf}(não funciona na leitura da tabela, pelo que posso ver) e depois recarregar a tabela a partir do arquivo salvo.

Em outras palavras, adicionando

\pgfplotstablesave[string replace={Indeterminate}{inf}]{\mydata}{mydata.dat}
\pgfplotstableread{mydata.dat}\mydata

entre \pgfplotstablereade o tikzpictureparece fazer o que você quer.

\documentclass{article}
\usepackage{pgfplotstable,pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\pgfplotstableread{
    x y
    1 2
    2 4
    3 Indeterminate
    4 7
}\mydata
\pgfplotstablesave[string replace={Indeterminate}{inf}]{\mydata}{mydata.dat}
\pgfplotstableread{mydata.dat}\mydata
    \begin{tikzpicture}
        \begin{axis}
            \addplot table {\mydata};
        \end{axis}
    \end{tikzpicture}
\end{document} 

insira a descrição da imagem aqui

informação relacionada