如何在 tikz 中更改线的尖端

如何在 tikz 中更改线的尖端

我想在 latex 中更改线的尖端。例如,考虑以下 MWE:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}
\draw[yscale=5,thick,domain=-2:2,smooth,variable=\x] plot ({\x},{exp(-\x*\x)/sqrt(2*pi)});
\draw[ultra thick] (1.3,0)--(1.3,{5*exp(-1.69)/sqrt(2*pi)});
\end{tikzpicture}
\end{center}
\end{document}

在上面几行代码的输出中,绘制的直线的上端与钟形曲线不完全匹配。这条直线就像一个填充的矩形,而我希望它在放大时像一个填充的梯形。(此外,我也很高兴看到任何关于如何轻松绘制法线密度函数的建议,而不是手动指定它。)

答案1

您可以使用clip。另请注意,在这里声明一个函数似乎是值得的。

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}[declare function={f(\x)=5*exp(-\x*\x)/sqrt(2*pi);}]
\begin{scope}[thick]
 \draw[clip] plot [domain=-2:2,smooth,variable=\x] ({\x},{f(\x)});
 \draw[ultra thick] (1.3,0)--(1.3,{f(1.3)+0.1});
\end{scope} 
\end{tikzpicture}
\end{center}
\end{document}

在此处输入图片描述

在此处输入图片描述

范围内的所有内容都会被剪裁。

或者你也可以只使用一个情节。

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}[declare function={f(\x)=5*exp(-\x*\x)/sqrt(2*pi);}]
 \draw[thick] plot [domain=-2:2,smooth,variable=\x] ({\x},{f(\x)});
 \fill plot[variable=\x,domain=-8:8] 
 ({1.3cm+0.1*\x*1pt},{f(1.3+0.1*\x*1pt/1cm)*1cm})
 |- ({1.3cm-0.8pt},0);
\end{tikzpicture}
\end{center}
\end{document}

至于这篇文章下面的扩展评论:clip 会剪辑路径中它后面的所有内容。所以在我看来,你可能想要

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}[declare function={f(\x)=5*exp(-\x*\x)/sqrt(2*pi);}]
\begin{scope}[thick]
 \draw (-2.5,0)--(4.5,0);
 \draw plot [domain=-2:2,smooth,variable=\x] ({\x},{f(\x)});
 \clip plot [domain=-2:2,smooth,variable=\x] ({\x},{f(\x)}) -- (4.5,0) -- (-2.5,0);
 \draw[ultra thick] (1.3,0)--(1.3,{f(1.3)+0.1});
\end{scope} 
\end{tikzpicture}
\end{center}
\end{document}

在此处输入图片描述

相关内容