完整代码

完整代码

我有以下代码:

\begin{tikzpicture}
    \begin{axis}    [
        axis lines = {center},
        width = {0.6\linewidth},
        ylabel = {$y$},
        xlabel = {$x$},
        ytick distance = {2},
        minor y tick num = {1}
        ]

    \addplot    [
                mark = none, domain= -3:4
                ]
                {abs(x)};
\end{axis}
\end{tikzpicture}

这将生成以下图像,请注意x=0函数图上有一个奇怪的“断点”。可能是什么原因造成的?我该如何消除它?

x = 0 旁边出现奇怪的断点

我注意到如果我使用带有条件的函数也会发生此问题:

{x<0 ? -x+5 : x-2};

该区域附近x=0发生了奇怪的断裂。

答案1

不奇怪,考虑一下函数值的计算位置,通过设置mark = x

在此处输入图片描述

默认样本数为 25,从 -3 到 4 的 25 个样本会在 处产生一个样本,-0.0833在 处产生下一个样本0.20833。不对称导致了您看到的问题。

如果您设置样本数量和域,以便您获得一个正好位于零处的样本,那么应该没问题。使用域-3:4samples=8samples=15例如将为您提供一个位于零处的样本。或者,对于这种特定情况,您可以设置samples at={-3,0,4}

在此处输入图片描述

完整代码

\documentclass{article}

\usepackage{pgfplots}
\begin{document}

\begin{tikzpicture}
    \begin{axis}    [
        axis lines = {center},
        width = {0.6\linewidth},
        ylabel = {$y$},
        xlabel = {$x$},
        ytick distance = {2},
        minor y tick num = {1}
        ]

    \addplot    [
                mark = none, samples at={-3,0,4}
                ]
                {abs(x)};
\end{axis}
\end{tikzpicture}

\end{document}

相关内容