在步骤图中更改轴 xmax/domain

在步骤图中更改轴 xmax/domain

考虑下面的 MWE。此示例来自 PGF 绘图库,添加了 1 个异常值 (1000,50),从而得到下面的第一个(错误)屏幕截图。

我想限制域/轴,所以我得到了类似第二张截图的东西但 (1000,50) 坐标仍在源中。

我尝试改变轴和绘图域(并添加轴标签):

\begin{axis}[ymin=0,ymax=1,xmin=0,xmax=1,thick,xlabel=x,ylabel=y]

和:

\addplot+[domain=0:1,...

这对于这种类型的图不起作用。但是,这对于其他图(例如函数图)有效。我该如何让它工作?

在此处输入图片描述 在此处输入图片描述


\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot+[black,const plot,mark=none]
coordinates
{(0,0.1)    (0.1,0.15)  (0.2,0.5)   (0.3,0.62)
 (0.4,0.56) (0.5,0.58)  (0.6,0.65)  (0.7,0.6)
 (0.8,0.58) (0.9,0.55)  (1,0.52) (1000,50) };
\end{axis}
\end{tikzpicture}
\end{document}

答案1

xmin=0, xmax=1在您的示例中设置时,我收到dimension too large错误。发生这种情况是因为1000,50即使该点位于可见轴域之外,它仍会被处理,并导致溢出错误。要解决此问题,请设置restrict x to domain=0:1。该键指定 x 坐标超出指定范围的点将被过滤掉,而无需进一步处理:

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=0, xmax=1, restrict x to domain=0:1]
\addplot+[black,const plot,mark=none]
coordinates
{(0,0.1)    (0.1,0.15)  (0.2,0.5)   (0.3,0.62)
 (0.4,0.56) (0.5,0.58)  (0.6,0.65)  (0.7,0.6)
 (0.8,0.58) (0.9,0.55)  (1,0.52) (1000,50) };
\end{axis}
\end{tikzpicture}
\end{document}

相关内容