Como traçar uma curva normal com valores y adequados

Como traçar uma curva normal com valores y adequados

Pergunta de acompanhamento paraTraçando curva em forma de sino em TikZ-PGF

Sou novo no LaTeX e estou escrevendo um documento para minha classe de estatísticas e tentando usar o LaTeX para produzir uma distribuição de probabilidade normal. Modifiquei o código mostrado na resposta de Jake à pergunta que mencionei aqui e obtive o seguinte:

\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}

O problema é que quando compilo, os valores do eixo y não estão nem perto de onde deveriam estar: saída de código

Como faço para corrigir isso?

Estou me perguntando se é um problema do sistema, porque a saída mostrada na resposta de Jake emCurva Bell/Função Gaussiana/Distribuição Normal em TikZ/PGFtem valores apropriados do eixo y e não vejo por que deveria ser diferente.

Responder1

Você não está obtendo valores entre 0 e 1 para o yeixo devido ao fator multiplicativo 1/(#2*sqrt(2*pi))na expressão da função. Usando

ytick={0.5, 1.0}

fornece valores muito pequenos, para o intervalo real que varia de 0 a aprox. 20; . Use um intervalo apropriado de valores no eixo 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}

insira a descrição da imagem aqui

Ou, para obter um intervalo adequado entre 0 e 1, suprima o fator na equação definidora:

\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}

insira a descrição da imagem aqui

informação relacionada