
Folgefrage zuGlockenförmige Kurve in TikZ-PGF zeichnen
Ich bin neu bei LaTeX und setze ein Dokument für meinen Statistikkurs und versuche, mit LaTeX eine normale Wahrscheinlichkeitsverteilung zu erzeugen. Ich habe den Code geändert, der in Jakes Antwort auf die Frage, auf die ich hier verwiesen habe, angezeigt wird, und habe Folgendes erhalten:
\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}
Das Problem besteht darin, dass beim Kompilieren die Werte der Y-Achse nicht annähernd dort liegen, wo sie sein sollten:
Wie behebe ich das?
Ich frage mich, ob es ein Systemproblem ist, denn die Ausgabe in Jakes Antwort aufGlockenkurve/Gauß-Funktion/Normalverteilung in TikZ/PGFhat entsprechende Y-Achsenwerte und ich sehe keinen Grund, warum es anders sein sollte.
Antwort1
Sie erhalten keine Werte zwischen 0 und 1 für die y
-Achse aufgrund des Multiplikationsfaktors 1/(#2*sqrt(2*pi))
im Ausdruck für die Funktion. Verwenden Sie
ytick={0.5, 1.0}
gibt zu kleine Werte für den tatsächlichen Wertebereich von 0 bis ca. 20 aus. Verwenden Sie einen geeigneten Wertebereich in der y-Achse:
\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}
Oder unterdrücken Sie den Faktor in der definierenden Gleichung, um einen geeigneten Bereich zwischen 0 und 1 zu erhalten:
\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}