Wie überspringt man einige Datenpunkte in pgfplots?

Wie überspringt man einige Datenpunkte in pgfplots?

Ich verwende Mathematica, um die Datenpunkte zu exportieren, und verwende pgfplots, um die Abbildung zu zeichnen. Die Datendatei enthält einige Punkte, deren y-Wert unbestimmt ist. Ein mwe kann wie folgt angegeben werden:

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

Ich möchte diese Punkte überspringen. Wie kann ich das tun?

Antwort1

Du kannst die Tabelle in einer Datei speichern, indem du angibst, was du möchtest string replace={Indeterminate}{inf}(beim Lesen der Tabelle funktioniert das nicht, soweit ich sehe) und dann die Tabelle aus der gespeicherten Datei neu laden.

Mit anderen Worten: Das Hinzufügen

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

zwischen \pgfplotstablereadund tikzpicturescheint das zu tun, was Sie wollen.

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

Bildbeschreibung hier eingeben

verwandte Informationen