高斯问题

高斯问题

服用这个例子,我建造了我的高斯钟

\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\pgfmathdeclarefunction{gauss}{2}{%
  \pgfmathparse{1/(#2*sqrt(2*pi))*exp(-((x-#1)^2)/(2*#2^2))}%
}
\begin{document}

\begin{figure}
    \centering
    \begin{tikzpicture}
\begin{axis}[
  yticklabels=\empty, xticklabels=\empty,
  width=8cm,
  height=6cm,
  xtick=\empty, ytick=\empty,
    clip mode=individual,
    xlabel={$T$}, ylabel={$\Delta T$},
               ]
  \addplot[smooth,red,samples=50,domain=-2:3]{gauss(1,0.75)};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}

在此处输入图片描述

但如果我\addplot[smooth,blue]{x*1.33 + 1.36};在曲线之前或之后添加,我的钟就变成

在此处输入图片描述

我该如何修复它?

答案1

您所拥有的是图表的正确表示,所以我不确定这里需要修复什么......

如果您允许绘制轴刻度标签,则可以看到高斯分布的值在 [0..1] 范围内,直线在 [-5..7+] 范围内(我没有精确计算;请记住默认域是 -5..5)。您可以限制所有内容的域,但图表仍将按比例显示。


\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\pgfmathdeclarefunction{gauss}{2}{%
  \pgfmathparse{1/(#2*sqrt(2*pi))*exp(-((x-#1)^2)/(2*#2^2))}%
}
\begin{document}

\begin{figure}
    \centering
    \begin{tikzpicture}
        \begin{axis}[
            %yticklabels=\empty, xticklabels=\empty,
            width=8cm,
            height=6cm,
            domain=-2:3,
            %xtick=\empty, ytick=\empty,
            clip mode=individual,
            xlabel={$T$}, ylabel={$\Delta T$},
            ]
            \addplot[smooth,red,samples=50]{gauss(1,0.75)};
            \addplot[smooth,blue]{x*1.33 + 1.36};
        \end{axis}
    \end{tikzpicture}
\end{figure}
\end{document}

高斯和直线

如果你想要一个定量的(正确的)图表,并且对钟形曲线有更好的垂直分辨率,你可以 使用不同的轴其中之一。

另一种选择是,如果你只想要一个定性图表,那么缩放两者之一,例如,将高斯乘以8

\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\pgfmathdeclarefunction{gauss}{2}{%
  \pgfmathparse{1/(#2*sqrt(2*pi))*exp(-((x-#1)^2)/(2*#2^2))}%
}
\begin{document}

\begin{figure}
    \centering
    \begin{tikzpicture}
        \begin{axis}[
            yticklabels=\empty, xticklabels=\empty,
            width=8cm,
            height=6cm,
            domain=-2:3,
            xtick=\empty, ytick=\empty,
            clip mode=individual,
            xlabel={$T$}, ylabel={$\Delta T$},
            ]
            \addplot[smooth,red,samples=50]{8 * gauss(1,0.75)};
            \addplot[smooth,blue]{x*1.33 + 1.36};
        \end{axis}
    \end{tikzpicture}
\end{figure}
\end{document}

在此处输入图片描述

...但pgfplots会始终向您显示函数的实际值。

相关内容