限制 y 到域“切割”图

限制 y 到域“切割”图

在下面的代码中,我的情节显示如下:

在此处输入图片描述

这不是一个连续的图,因为restrict y to domain=-500:500删除了一些点,导致图看起来像这样。

有没有办法解决这个问题,以便情节看起来更连续?:

在此处输入图片描述

这是我的代码:

\documentclass{book}
\usepackage[top=3cm,bottom=3cm,left=3.2cm,right=3.2cm,headsep=10pt,a4paper]{geometry}
\usepackage{tikz}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\usepackage{filecontents}
\usepackage{graphicx}
\usepackage{float}

\begin{filecontents*}{data23.csv}
A   B   C   D
0   -14.9000001 100 -100
0.0000064   8.83999991  100 -100
0.0000128   -3.73000002 100 -100
0.0000192   -2.80000019 100 -100
0.0000256   8.83999991  100 -100
0.000032    15.82999992 100 -100
0.0000384   8.37999988  100 -100
0.0000448   -1.4000001  100 -100
0.0000512   -6.99000001 100 -100
0.0000576   -11.6400001 100 -100
0.000064    -2.33000016 100 -100
0.0000704   0.4599998   100 -100
0.0000768   -1.4000001  100 -100
0.0000832   -19.10000014    100 -100
0.0000896   0   100 -100
0.000096    -4.19000006 100 -100
0.0001024   -15.84000015    100 -100
0.0001088   -5.13000011 100 -100
0.0001152   17.23000002 100 -100
0.0001216   7.44999981  100 -100
0.000128    10.24000001 100 -100
0.0001344   -2.33000016 100 -100
0.0001408   8.37999988  100 -100
0.0001472   -63.80000019    100 -100
0.0001536   -1851.47    100 -100
0.00016 -959001.16  100 -100
0.0001664   -959001.16  100 -100
0.0001728   -959001.16  100 -100
0.0001792   -959001.16  100 -100
0.0001856   -919131.57  100 -100
0.000192    194777.73   100 -100
0.0001984   238253.27   100 -100
0.0002048   277420.5    100 -100
0.0002112   291163.1    100 -100
0.0002176   286195.89   100 -100
0.000224    255122.31   100 -100
0.0002304   182965.3    100 -100
0.0002368   74969.14    100 -100
0.0002432   1717.82 100 -100
0.0002496   -46980.57   100 -100
0.000256    -60135.04   100 -100
0.0002624   -87181.11   100 -100
0.0002688   -82944.99   100 -100
0.0002752   -64264.06   100 -100
0.0002816   -42486.94   100 -100
0.000288    -19782.69   100 -100
0.0002944   -1171.61    100 -100
0.0003008   13164.71    100 -100
0.0003072   21098.18    100 -100
0.0003136   23432.54    100 -100
0.00032 22276.77    100 -100
0.0003264   18429.47    100 -100
0.0003328   11196.82    100 -100
0.0003392   4662.66 100 -100
0.0003456   -366.48 100 -100
0.000352    -3680.12    100 -100
0.0003584   -6535.09    100 -100
0.0003648   -7723.93    100 -100
0.0003712   -7477.13    100 -100
0.0003776   -6128.57    100 -100
0.000384    -3032.39    100 -100
0.0003904   -317.5800002    100 -100
0.0003968   248.1899998 100 -100
0.0004032   1216.77 100 -100
0.0004096   2771.61 100 -100
0.000416    3422.14 100 -100
0.0004224   1918.52 100 -100
0.0004288   947.6199999 100 -100
0.0004352   -420.96 100 -100
0.0004416   -2162.53    100 -100
0.000448    -1460.78    100 -100
0.0004544   153.6599999 100 -100
0.0004608   302.6799998 100 -100
0.0004672   605.8199999 100 -100
0.0004736   -415.8400002    100 -100
0.00048 -997.9200001    100 -100
0.0004864   -1122.25    100 -100
0.0004928   -926.2000001    100 -100
0.0004992   -723.6400001    100 -100
0.0005056   284.98  100 -100
0.000512    81.01999998 100 -100
0.0005184   572.29  100 -100
0.0005248   385.0999999 100 -100
0.0005312   -301.75 100 -100
0.0005376   -298.96 100 -100
0.000544    418.1599999 100 -100
0.0005504   71.7099998  100 -100
0.0005568   839.1199999 100 -100
0.0005632   1733.19 100 -100
0.0005696   1055.65 100 -100
0.000576    -544.3600001    100 -100
0.0005824   -648.2000001    100 -100
0.0005888   -1442.62    100 -100
0.0005952   -778.5900002    100 -100
0.0006016   398.1399999 100 -100
0.000608    1222.36 100 -100
0.0006144   1837.5  100 -100
0.0006208   -152.74 100 -100
0.0006272   -1656.83    100 -100
0.0006336   -477.77 100 -100
\end{filecontents*}

\pgfplotsset{minor grid style={dashed,red}}
\pgfplotsset{major grid style={dotted,green!50!black}}

\begin{document}

\begin{figure}[H]
\begin{center}

\begin{tikzpicture}
\begin{axis}[grid = both,
    every major grid/.style={gray, opacity=0.5},
    scale = .75, width=20cm,height=10cm, title = {\emph{(b) RSLE Parameter Errors in terms of Recursions RSLE}},xlabel={$Number~of~Recursions$},ylabel={Absolute Parameter Error},
    xmin = 0, 
    xmax = .7, 
    ymax = 500, 
    ymin = -500
    ]

\addplot [blue,mark options={scale=.65}]table[x index=0,y index=1, x expr=\thisrow{A}*1000, col sep=space,restrict y to domain=-500:500] {data23.csv};

\end{axis}
\end{tikzpicture}
\caption[]{Plot showing position ${\mathbf{P_{T}}}$}\label{abserror}
\end{center}
\end{figure}

\end{document}

答案1

稍微修改了一下,我似乎明白按原样绘制所有内容会带来问题,因为 y 中的最大幅度比你想要的比例大得多(+-1e6 vs +-500)。首先,尝试

 restrict y to domain=-10000:10000

相反,这导致

在此处输入图片描述

第二种情况,如果仍然不令人满意,您可以过滤输入并将数据 >1000 替换为 1000,将数据 <-1000 替换为 -1000...

更新

您可以通过以下方式过滤 pgfplots 中的输入

restrict y to domain*=-10000:10000

来自 pgfplots 指南:

带星号的版本(如restrict x to domain*)将把坐标截断为 [<分钟>,<最大限度>],即它们分配值 <分钟> 如果坐标超出下限并且 <最大限度> 如果该值超出上限。

在此处输入图片描述

相关内容