为什么使用 pgfplots 绘制的倒数函数图看起来不正确?

为什么使用 pgfplots 绘制的倒数函数图看起来不正确?

我正在尝试绘制函数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}

在此处输入图片描述

相关内容