pgfplots에서 일부 데이터 포인트를 점프하는 방법은 무엇입니까?

pgfplots에서 일부 데이터 포인트를 점프하는 방법은 무엇입니까?

Mathematica를 사용하여 데이터 포인트를 내보내고 pgfplots를 사용하여 그림을 그립니다. 데이터 파일에는 y 값이 불확정인 일부 점이 포함되어 있습니다. mwe는 다음과 같이 주어질 수 있습니다.

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

나는 이 점들을 뛰어넘고 싶다. 어떻게 해야 합니까?

답변1

테이블을 파일에 저장하여 원하는 것을 표시한 다음 string replace={Indeterminate}{inf}(제가 볼 수 있는 한 테이블을 읽을 때는 작동하지 않음) 저장된 파일에서 테이블을 다시 로드할 수 있습니다.

즉, 추가

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

사이에 \pgfplotstableread당신 tikzpicture이 원하는 것을하는 것 같습니다.

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

여기에 이미지 설명을 입력하세요

관련 정보