如何绘制具有适当 y 值的正态曲线

如何绘制具有适当 y 值的正态曲线

后续问题在 TikZ-PGF 中绘制钟形曲线

我是 LaTeX 新手,正在为我的统计课排版文档,并尝试使用 LaTeX 生成正态概率分布。我修改了 Jake 对我在此处引用的问题的回答中显示的代码,并得到了以下内容:

\documentclass{article}
\usepackage{pgfplots}
\pgfmathdeclarefunction{gauss}{2}{% normal distribution where #1 = mu and #2 = sigma
  \pgfmathparse{1/(#2*sqrt(2*pi))*exp(-((x-#1)^2)/(2*#2^2))}%
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
  no markers, domain=2.1:2.3, samples=100,
  axis lines*=left,
  height=5cm, width=12cm,
  xtick={2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26, 2.28}, ytick={0.5, 1.0},
  enlargelimits=false, clip=false, axis on top,
  ]
\addplot{gauss(2.2,0.0179)};
\end{axis}
\end{tikzpicture}
\end{document}

问题是,当我编译时, y 轴的值远远没有达到应有的位置: 代码输出

我该如何修复它?

我想知道这是否是系统问题,因为 Jake 的回答中显示的输出TikZ/PGF 中的钟形曲线/高斯函数/正态分布具有适当的 y 轴值,我不明白为什么它应该有所不同。

答案1

y由于 1/(#2*sqrt(2*pi))函数表达式中的乘法因子,您无法获得 - 轴的 0 到 1 之间的值。使用

ytick={0.5, 1.0}

给出的值太小,实际值的范围是 0 到大约 20;在 y 轴上使用适当的值范围:

\documentclass{article}
\usepackage{pgfplots}
%\pgfplotsset{compat=1.10}

\pgfmathdeclarefunction{gauss}{2}{% normal distribution where #1 = mu and #2 = sigma
  \pgfmathparse{1/(#2*sqrt(2*pi))*exp(-((x-#1)^2)/(2*#2^2))}%
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
  no markers, domain=2.1:2.3, samples=100,smooth,
  axis lines*=left,
  height=5cm, width=12cm,
  xtick={2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26, 2.28}, 
  ytick={4.0,8.0,...,20.0},
  enlargelimits=upper, clip=false, axis on top,
  ]
\addplot{gauss(2.2,0.0179)};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

或者,为了获得 0 到 1 之间的适当范围,抑制定义方程中的因子:

\documentclass{article}
\usepackage{pgfplots}
%\pgfplotsset{compat=1.10}

\pgfmathdeclarefunction{gauss}{2}{% normal distribution where #1 = mu and #2 = sigma
  \pgfmathparse{exp(-((x-#1)^2)/(2*#2^2))}%
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
  no markers, domain=2.1:2.3, samples=100,smooth,
  axis lines*=left,
  height=5cm, width=12cm,
  xtick={2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26, 2.28}, 
  enlargelimits=upper, clip=false, axis on top,
  ]
\addplot{gauss(2.2,0.0179)};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容