작은 간격으로 xmin 및 xmax 작업을 수행하는 방법은 무엇입니까?

작은 간격으로 xmin 및 xmax 작업을 수행하는 방법은 무엇입니까?

다음은 x = 0 및 x = 2로 제한되는 거대한 데이터 세트의 작은 샘플을 사용합니다. 그러나 간격 [1.371508664312009 1.371508780212562]에서 결과를 플롯할 필요가 있습니다. 그러나 다음 코드에서는 작동하지 않습니다. 뭐가 잘못 되었 니? (분명히 결과를 확장할 수 있지만 논문에서 이런 일이 자주 발생하므로 보다 일반적인 솔루션을 원합니다)

\documentclass[tikz,border=2pt,png]{standalone}

\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        cycle list={%
            {black}
        },
        xmin = 1.371508664312009,
        xmax = 1.371508780212562,
        ]
        \addplot[unbounded coords=discard] table[x=k,y=F_k] {
k                   F_k
1.371508647597729   4.218629299064943
1.371508655954869   4.367306455608867
1.371508664312009   4.546736697704027
1.371508672669148   4.767650229729832
1.371508710724181   7.117825185499241
1.371508713560441   7.513271582940213
1.371508716396702   7.985684237353307
1.371508719232962   8.552417433810986
1.371508722069223   9.245525102110591
1.371508724905483   10.115770661107760
1.371508727741744   11.225899722988125
1.371508730578004   12.667837277184283
1.371508737113507   17.998622084719759
1.371508738663157   19.703601372911169
1.371508739179707   20.274665134457187
1.371508739696257   20.825915113218606
1.371508742279008   22.855385665696630
1.371508742795558   22.988513291704997
1.371508745120034   21.959402178915621
1.371508745636584   21.414072973829519
1.371508746153134   20.769375301115637
1.371508746669684   20.063715232649155
1.371508763194999   5.048020735228436
1.371508766031260   4.141215569327951
};
    \end{axis}
\end{tikzpicture} 
\end{document}

답변1

fpu 형식을 사용해도 작동하지 않습니다. 변환 후 경고를 확인하세요.pgfplots

\documentclass{beamer}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}

\begin{document}

\begin{tikzpicture}
\pgfkeys{/pgf/fpu}
\pgfmathfloatparsenumber{1.371508664312009}\xdef\myxmin{\pgfmathresult}
\pgfmathfloatparsenumber{1.371508780212562}\xdef\myxmax{\pgfmathresult}
\pgfkeys{/pgf/fpu=false}
    \begin{axis}[,
        cycle list={%
            {black}
        },enlargelimits=false,
        xmin = \myxmin,
        xmax = \myxmax,
        ]
        \addplot[unbounded coords=discard] table[x=k,y=F_k] {
k                   F_k
1.371508647597729   4.218629299064943
1.371508655954869   4.367306455608867
1.371508664312009   4.546736697704027
1.371508672669148   4.767650229729832
1.371508710724181   7.117825185499241
1.371508713560441   7.513271582940213
1.371508716396702   7.985684237353307
1.371508719232962   8.552417433810986
1.371508722069223   9.245525102110591
1.371508724905483   10.115770661107760
1.371508727741744   11.225899722988125
1.371508730578004   12.667837277184283
1.371508737113507   17.998622084719759
1.371508738663157   19.703601372911169
1.371508739179707   20.274665134457187
1.371508739696257   20.825915113218606
1.371508742279008   22.855385665696630
1.371508742795558   22.988513291704997
1.371508745120034   21.959402178915621
1.371508745636584   21.414072973829519
1.371508746153134   20.769375301115637
1.371508746669684   20.063715232649155
1.371508763194999   5.048020735228436
1.371508766031260   4.141215569327951
};
    \end{axis}
\end{tikzpicture} 

\end{document}

로그 파일에는 다음과 같은 경고가 있습니다.

패키지 pgfplots 경고: x축의 축 범위가 거의 비어 있습니다. 입력 라인 46에서 이를 확대합니다([1.3715086000000000:1.371508 8000000000]).

[경고 /pgfplots/warning/대략 빈 범위 확대]

이 정밀도가 정말로 필요한 경우 상수 부분을 제거한 다음 데이터 로그를 가져와 플롯합니다. 이것은 실제로 전용 small int, big int 라이브러리가 없으면 어떤 언어에서도 제대로 작동하지 않습니다.

관련 정보