tikz 中函数末尾的点

tikz 中函数末尾的点

使用函数绘图时tikz,必须指定某个域。但是,如果函数在指定域之外继续,则最好在其边缘处有经典的三个点,表示函数确实继续。

我不知道该如何实现这一点,如能得到任何帮助我将非常感谢。

一个非常简单的 MWE 可能是:

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \draw[domain=-1.5:1.5, smooth, samples=250] plot (\x,{\x*\x});
\end{tikzpicture}
\end{document}

可以看出,抛物线的两端没有显示任何点。

答案1

这是一个建议。

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}[continue/.style={postaction=decorate,decoration={markings,
mark=at position 0 with {\draw[continuation] (0pt,0pt) -- (-#1,0pt);},
mark=at position 1 with {\draw[continuation] (0pt,0pt) -- (#1,0pt);}
}},continue/.default=2em,continuation/.style={densely dotted}]
    \draw[continue] plot[domain=-1.5:1.5, samples=250] (\x,{\x*\x});
\end{tikzpicture}
\end{document}

在此处输入图片描述

请注意,此提案使用了装饰,因此并不总是适用于smooth。特别是,在您的用例中它不适用。但是,250 个样本非常慷慨,平滑和不平滑之间没有真正的区别(在本例中)。在这种情况下,如果这会产生影响,您可以装饰非平滑图并绘制平滑图:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}[continue/.style={postaction=decorate,decoration={markings,
mark=at position 0 with {\draw[continuation] (0pt,0pt) -- (-#1,0pt);},
mark=at position 1 with {\draw[continuation] (0pt,0pt) -- (#1,0pt);}
}},continue/.default=2em,continuation/.style={densely dotted}]
    \path[continue] plot[domain=-1.5:1.5, samples=250] (\x,{\x*\x});
    \draw plot[domain=-1.5:1.5,smooth, samples=250] (\x,{\x*\x});
\end{tikzpicture}
\end{document}

相关内容