Pgfplot 在小轴范围内崩溃

Pgfplot 在小轴范围内崩溃

我有一组如下所示的数据:

在此处输入图片描述

并放大平坦部分:

在此处输入图片描述

我的目标是制作一个图,tikz其中pgfplots有完整的图和一个带有放大版本的附加框。到目前为止,我拥有的是:

\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}

\begin{filecontents}{data.dat}
    0   0
    0.01    0.249847449357731
    0.02    0.249877952037423
    0.03    0.249893205239232
    0.04    0.249900831840137
    0.05    0.249908458441041
    0.06    0.249916085973041
    0.07    0.249919899739041
    0.08    0.249923713505041
    0.09    0.249931341037041
    0.1 0.24993515480304
    0.11    0.24993896856904
    0.12    0.249942782800645
    0.13    0.249944689916447
    0.14    0.249946597032249
    0.15    0.249950411263853
    0.16    0.249952318379655
    0.17    0.249954225495458
    0.18    0.249958039727062
    0.19    0.249959946842864
    0.2 0.249961853958666
    0.21    0.249963761074468
    0.22    0.249965668190271
    0.23    0.249967575306073
    0.24    0.249969482421875
    0.25    0.249971389770508
    0.26    0.249972343444824
    0.27    0.249973297119141
    0.28    0.249975204467773
    0.29    0.24997615814209
    0.3 0.249977111816406
    0.31    0.249979019165039
    0.32    0.249979972839355
    0.33    0.249980926513672
    0.34    0.249981880187988
    0.35    0.249982833862305
    0.36    0.249983787536621
    0.37    0.249984741210938
    0.38    0.24998664855957
    0.39    0.249987602233887
    0.4 0.249988555908203
    0.41    0.249990463256836
    0.42    0.249991416931152
    0.43    0.249992370605469
    0.44    0.249994277954102
    0.45    0.249995231628418
    0.46    0.249996185302734
    0.47    0.249997138977051
    0.48    0.249998092651367
    0.49    0.249999046325684
    0.5 0.25
    0.51    0.260075434196466
    0.52    0.270360733993417
    0.53    0.280889953943656
    0.54    0.291584624271265
    0.55    0.302496654794548
    0.56    0.313580528318198
    0.57    0.324867235014897
    0.58    0.336383334549425
    0.59    0.348080789982136
    0.6 0.359991028736048
    0.61    0.372089580416686
    0.62    0.384378660470247
    0.63    0.39687587996238
    0.64    0.40957069314068
    0.65    0.422465424636748
    0.66    0.435562510664503
    0.67    0.448892864174989
    0.68    0.46238035348324
    0.69    0.476099779206235
    0.7 0.489974572591174
    0.71    0.504067866659342
    0.72    0.518398450741842
    0.73    0.532897961159303
    0.74    0.54759708647439
    0.75    0.562469482421875
    0.76    0.577574541017995
    0.77    0.592880730178635
    0.78    0.60836734593056
    0.79    0.624074199689872
    0.8 0.639990197183606
    0.81    0.656093809579033
    0.82    0.672386099949678
    0.83    0.688895329403261
    0.84    0.705599166669657
    0.85    0.722497797677054
    0.86    0.739595626692397
    0.87    0.756895015747401
    0.88    0.774398326873779
    0.89    0.792094073976
    0.9 0.809985851656289
    0.91    0.828088534377997
    0.92    0.846381754570064
    0.93    0.864877624048894
    0.94    0.883591519494075
    0.95    0.902475303343847
    0.96    0.921568278647521
    0.97    0.940886318493085
    0.98    0.960370207671634
    0.99    0.980083769414174
    1   1
\end{filecontents}

\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            height=8cm,
            width=10cm,
            xmin=0,
            xmax=1,
            ymin=0,
            ymax=1,
            axis lines=left]
            \addplot[] table [x index=0, y index=1] {data.dat};
            \draw[red] (axis cs:0.01,0.24) rectangle (axis cs:0.49,0.26); 
        \end{axis}
        \begin{axis}[
            shift={(1.5cm,3.5cm)},
            height=4cm,
            width=5cm,
            xmin=0.02,
            xmax=0.49,
            ymin=0.245,
            ymax=0.25]
            \addplot [] table {data.dat};
        \end{axis}
    \end{tikzpicture}
\end{document}

看起来像这样:

在此处输入图片描述

问题是,当我将ymin和设置ymax得更接近时,出现以下错误: Dimension too large. \end{axis}

答案1

您应该使用该restrict y to domain选项。

以下是 MWE:

\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}

\begin{filecontents}{data.dat}
 0   0
 0.01    0.249847449357731
 0.02    0.249877952037423
 0.03    0.249893205239232
 0.04    0.249900831840137
 0.05    0.249908458441041
 0.06    0.249916085973041
 0.07    0.249919899739041
 0.08    0.249923713505041
 0.09    0.249931341037041
 0.1 0.24993515480304
 0.11    0.24993896856904
 0.12    0.249942782800645
 0.13    0.249944689916447
 0.14    0.249946597032249
 0.15    0.249950411263853
 0.16    0.249952318379655
 0.17    0.249954225495458
 0.18    0.249958039727062
 0.19    0.249959946842864
 0.2 0.249961853958666
 0.21    0.249963761074468
 0.22    0.249965668190271
 0.23    0.249967575306073
 0.24    0.249969482421875
 0.25    0.249971389770508
 0.26    0.249972343444824
 0.27    0.249973297119141
 0.28    0.249975204467773
 0.29    0.24997615814209
 0.3 0.249977111816406
 0.31    0.249979019165039
 0.32    0.249979972839355
 0.33    0.249980926513672
 0.34    0.249981880187988
 0.35    0.249982833862305
 0.36    0.249983787536621
 0.37    0.249984741210938
 0.38    0.24998664855957
 0.39    0.249987602233887
 0.4 0.249988555908203
 0.41    0.249990463256836
 0.42    0.249991416931152
 0.43    0.249992370605469
 0.44    0.249994277954102
 0.45    0.249995231628418
 0.46    0.249996185302734
 0.47    0.249997138977051
 0.48    0.249998092651367
 0.49    0.249999046325684
 0.5 0.25
 0.51    0.260075434196466
 0.52    0.270360733993417
 0.53    0.280889953943656
 0.54    0.291584624271265
 0.55    0.302496654794548
 0.56    0.313580528318198
 0.57    0.324867235014897
 0.58    0.336383334549425
 0.59    0.348080789982136
 0.6 0.359991028736048
 0.61    0.372089580416686
 0.62    0.384378660470247
 0.63    0.39687587996238
 0.64    0.40957069314068
 0.65    0.422465424636748
 0.66    0.435562510664503
 0.67    0.448892864174989
 0.68    0.46238035348324
 0.69    0.476099779206235
 0.7 0.489974572591174
 0.71    0.504067866659342
 0.72    0.518398450741842
 0.73    0.532897961159303
 0.74    0.54759708647439
 0.75    0.562469482421875
 0.76    0.577574541017995
 0.77    0.592880730178635
 0.78    0.60836734593056
 0.79    0.624074199689872
 0.8 0.639990197183606
 0.81    0.656093809579033
 0.82    0.672386099949678
 0.83    0.688895329403261
 0.84    0.705599166669657
 0.85    0.722497797677054
 0.86    0.739595626692397
 0.87    0.756895015747401
 0.88    0.774398326873779
 0.89    0.792094073976
 0.9 0.809985851656289
 0.91    0.828088534377997
 0.92    0.846381754570064
 0.93    0.864877624048894
 0.94    0.883591519494075
 0.95    0.902475303343847
 0.96    0.921568278647521
 0.97    0.940886318493085
 0.98    0.960370207671634
 0.99    0.980083769414174
 1   1
\end{filecontents}

\begin{document}
 \begin{tikzpicture}
 \begin{axis}[
 height=8cm,
 width=10cm,
 xmin=0,
 xmax=1,
 ymin=0,
 ymax=1,
 axis lines=left]
 \addplot[] table [x index=0, y index=1] {data.dat};
 \draw[red] (axis cs:0.01,0.24) rectangle (axis cs:0.49,0.26); 
 \end{axis}
 \begin{axis}[
  shift={(1.5cm,3cm)},
  restrict y to domain=0.245:0.25,
  height=4cm,
  width=5cm,
]
 \addplot [] table {data.dat};
 \end{axis}
 \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容