代码

代码
\begin{tikzpicture}[domain=-.5:3]
\draw[->](-.2,0)--(3.2,0) node[below] {$x$};
\draw[->](0,-2.5)--(0,1.2) node[left] {$y$};
\draw[color=blue] plot(\x,abs(2-\x)) node[left] {$y=|x-2|$};
\end{tikzpicture}

这是不正确的。

我尝试在不同的域中绘制两条线2-xx-2但是失败了。

f(x)=1 (x>0)类似地,如何绘制f(x)=0这些分段函数?

答案1

该图不正确,因为绘制函数所取的样本数量很少。请取大量样本或使用允许的其他域x=2蒂克兹绘制路径操作和Pgf 图默认取 25 个样本。下面是使用 Pgfplots 的解决方案:

代码

\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}%http://www.ctan.org/pkg/pgfplots
\begin{document}
    \begin{tikzpicture}
        \begin{axis}[%
            domain = -.5:3,
            samples = 50,
            axis x line = center,
            axis y line = center,
            xlabel = {$x$},
            ylabel = {$y$},
            ticks = none
            ]
            \addplot[blue] {abs(x-2)} [yshift=3pt] node[pos=.95,left] {$y=|x-2|$};
        \end{axis}
    \end{tikzpicture}
\end{document}

结果

在此处输入图片描述

应用 KevinC 的评论的解决方案plot[samples=50]可以修改您的想法以正确绘制函数图。

类似地,您可以使用不同的addplot域来绘制分段函数,如下所示:

\begin{tikzpicture}
    \begin{axis}[%
        axis x line = center,
        axis y line = center,
        xlabel = {$x$},
        ylabel = {$y$},
        ymax = 2,
        ticks = none
        ]
        \addplot[domain=-3:0,blue] {0};
        \addplot[domain=0.01:4,blue] {1};
    \end{axis}
\end{tikzpicture}

此外,如果您想将轴标签位置更改为轴外部,只需将此选项添加到轴环境选项中:

every axis x label/.style={at={(current axis.right of origin)},anchor=north west},
every axis y label/.style={at={(current axis.above origin)},anchor=north east}

相关内容