我正在尝试绘制函数1/x^2
,但结果显然是错误的,如下所示
这是代码
\begin{center}
\begin{tikzpicture}
\begin{axis}[
%xlabel=$x$,
%ylabel={$f(x) = x^2 - x +4$} ]
\addplot[blue] {1/(x^2)};
\end{axis}
\end{tikzpicture}
\end{center}
对于如何解决这个问题,有任何的建议吗?
答案1
您除以几乎为零,因此结果在某种程度上是可以预料到的。您可以使用restrict y to domain=0:20
删除所有大于 20 的 y 值,或者(更简单)只需添加ymax=25
即可设置 y 轴的最大值。
两者的区别在于,前者会从绘图中删除所有超出给定域的 y 值,而后者仅设置轴限值。使用后者,线条将延伸到轴。
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xlabel=$x$,
ylabel={$f(x) = 1/x^2$},
restrict y to domain=0:20,
]
\addplot[blue,samples=200] {1/(x^2)};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[
xlabel=$x$,
ylabel={$f(x) = 1/x^2$},
ymax=20
]
\addplot[blue,samples=200] {1/(x^2)};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
这工作正常.....
\documentclass[a4paper]{article}
\usepackage{tkz-euclide}
\usepackage{pgfplots}
\usetkzobj{all}
\begin{document}
\begin{center}
\begin{tikzpicture}
\begin{axis}%
[
grid=major,
x=5mm,
y=5mm,
xtick={-10,-9,...,10},
xmin=-10,
xmax=10,
xlabel={\tiny $x$},
axis x line=middle,
ytick={-10,-9,...,10},
tick label style={font=\tiny},
ymin=-10,
ymax=10,
ylabel={\scriptsize $f(x)$},
axis y line=middle,
no markers,
samples=100,
domain=-10:10,
restrict y to domain=-20:20
]
\addplot[thick,samples=400] (x,{1/x^2});
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}