这是我正在研究的情节:
\documentclass{book}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=center,
samples=200,
xlabel={\(x\)},
xmin=-0.5,xmax=3.5,
ylabel={\(y\)},
ymin=-0.5,ymax=2.5,
]
\addplot [green] {(x - 2)^3 + 1};
\end{axis}
\end{tikzpicture}
\end{document}
如果我使用ymin=-1.5
或任何小于 的负值-1
,则绘图渲染得很好。但是,Dimension too large
当我使用ymin=-0.5
上述值时,它会抱怨 。
我阅读了pgfplots
文档第 2.6.2 节,但仍然找不到解决方案。
答案1
如果您使用默认域,即domain=-5:5
,那么您的函数值似乎会变得太大。这有点奇怪,请参阅@Torbjørn T. 1 条评论。
要解决此问题,您有两个选择:
xmin
在和之间定义域xmax
(使用更宽的域是没有意义的),或者- 定义
y
(函数)值的限制:
\documentclass{book}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=center,
xlabel={\(x\)},
xmin=-0.5,xmax=3.5,
ylabel={\(y\)},
ymin=-0.5,ymax=2.5,
samples=200,
restrict y to domain=-0.5:12,
domain=-0.5:3.5,
every axis plot post/.append style={very thick},
no marks
]
\addplot {(x - 2)^3 + 1};
\end{axis}
\end{tikzpicture}
\end{document}
第二种情况:
\documentclass{book}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=center,
xlabel={\(x\)},
xmin=-0.5,xmax=3.5,
ylabel={\(y\)},
ymin=-0.5,ymax=2.5,
samples=200,
restrict y to domain=-0.5:12,
every axis plot post/.append style={very thick},
no marks
]
\addplot {(x - 2)^3 + 1};
\end{axis}
\end{tikzpicture}
\end{document}
两种情况下的结果都是一样的。