Как заставить 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 приблизительно пуст; увеличиваем его (он [1,3715086000000000:1,371508 8000000000]) на входной строке 46.

[предупреждение /pgfplots/warning/приблизительно пустой диапазон увеличен]

Если вам действительно нужна эта точность, уберите постоянную часть, затем возьмите лог ваших данных и постройте график. Это на самом деле не будет работать правильно ни в одном языке без выделенных библиотек small int, big int.

Связанный контент