以下は、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.37150860000000000:1.371508 8000000000] です)。
[警告 /pgfplots/warning/approx 空の範囲が拡大されました]
本当にこの精度が必要な場合は、定数部分を取り除いてデータのログを取得し、それをプロットします。これは実際には、専用の小さな int と大きな int ライブラリがなければ、どの言語でも適切に機能しません。