对数 y 轴并将 y 限制在域内失败

对数 y 轴并将 y 限制在域内失败

我尝试用对数 y 轴绘制数据并将 y 数据限制在指定的域内,但由于我不明白的原因,编译失败。这是代码:

\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}%
\begin{tikzpicture}
\begin{axis}[ymode=log, restrict y to domain=1:6]
\addplot coordinates {(0, 1.1e1) (1, 1.7e3) (2, 0.0e0) (2, 3.4e7) (4, 8.1e5)};
\end{axis}
\end{tikzpicture}
\end{document}

运行它会出现错误信息:

! Missing number, treated as zero.
<to be read again> 
                   i
l.6 ..., 1.7e3) (2, 0.0e0) (2, 3.4e7) (4, 8.1e5)};

根据pgfplots1.5.1 版(2011 年 12 月 29 日)手册第 272 页(关于将 x/y/z 限制到域),对于对数轴,最小值和最大值是相应值的对数。如果我禁用对数 y 轴或域限制,代码将成功运行,并且输出符合预期(但不符合要求)。

软件版本:

  • pdfTeX, Version 3.1415926-2.3-1.40.12 (TeX Live 2011) (format=pdflatex 2012.5.30)
  • pgfplots 2011/12/29 v1.5.1 (git show 1.5.1-4-g53e640f )
  • tikz 2010/10/13 v2.10 (rcs-revision 1.76)

发生了什么事?我做错了什么?或者这是一个错误?

答案1

这不是一个直接的答案,但它可能有助于实现你想要做的事情。我也不知道为什么它不起作用。

\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}%
\begin{tikzpicture}
\begin{semilogyaxis}[restrict expr to domain={y}{10:1e6},unbounded coords=discard]
\addplot coordinates {(0, 1.1e1) (1, 1.7e3) (2, 1.0e0) (2, 3.4e7) (4, 8.1e5)};
\end{semilogyaxis}
\end{tikzpicture}
\end{document}

如果删除,则将unbounded coords=discard其设置为jump

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

相关内容