Endpunkt einer Funktion bei tikz bzw. pgfplots

Tabellen und Grafiken erstellen und anordnen


Elbflorentiner
Forum-Anfänger
Forum-Anfänger
Beiträge: 17
Registriert: Do 5. Jun 2014, 21:34

Endpunkt einer Funktion bei tikz bzw. pgfplots

Beitrag von Elbflorentiner »

Hallo,

ich möchte eine in pgfplots erstellte Normalverteilung erstellen, deren Plot jedoch nicht bis zum definierten Ende ausgegebenen werden soll, sondern an einem definierten Punkt in eine waagerechte Linie übergeht.

Durch nachstehenden Code ist mir die auch gelungen.
\documentclass[]{standalone}
\usepackage{pgfplots}
\pgfplotsset{width=12cm,compat=1.8}
\pgfmathdeclarefunction{gauss}{2}{%
  \pgfmathparse{1/(#2*sqrt(2*pi))*exp(-((x-#1)^2)/(2*#2^2))}%
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[grid, samples=50,
  height=5cm, 
  width=12cm,  
  xmin=-4, xmax=4,
  ymin=0,ymax=0.4,
  xtick={-4,-2,0,2,4},
  xticklabels={0,5,10,15,20},
  axis x line=bottom, % no box around the plot, only x and y axis
  axis y line*=left, % the * suppresses the arrow tips
  ytick={0,0.1,0.2,0.3,0.4},
  yticklabels={,25,50,75,100},
  ]
  \addplot [domain=-4:2.3, thick] {gauss(0,1)};
\end{axis}
  
\end{tikzpicture}
\end{document}
Ich möchte am Ende der Kurve ansetzen und einen waagerechte Strich plotten, der sich vom mir unbekannten Endpunkt (ich kennen nur dessen x-Wert, welchen ich durch den Domain-Befehl bei 2.3 festgelegt habe; nicht jedoch den dazugehörigen y-Wert) waagerecht bis zu xmax bei 4 erstrecken soll. Mein Versuch bestanden darin, eine Koordinate zu errechnen..... ich bin gescheitert.

Meine Fragen: kann ich den y-Wert berechnen oder gibt es eine elegantere Möglichkeit, die erwünsche waagerechte Linie zu erzeugen?

Vielen Dank

Elbflorentiner

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Du kannst am Ende des Plots eine Koordinate definieren und von dieser Koordinate eine waagerechte Linie zum rechten Rand des Koordinatensystems zeichnen lassen.
\documentclass[]{standalone}
\usepackage{pgfplots}
\pgfplotsset{width=12cm,compat=1.8}
\pgfmathdeclarefunction{gauss}{2}{%
  \pgfmathparse{1/(#2*sqrt(2*pi))*exp(-((x-#1)^2)/(2*#2^2))}%
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[grid, samples=50,
  height=5cm, 
  width=12cm,  
  xmin=-4, xmax=4,
  ymin=0,ymax=0.4,
  xtick={-4,-2,0,2,4},
  xticklabels={0,5,10,15,20},
  axis x line=bottom, % no box around the plot, only x and y axis
  axis y line*=left, % the * suppresses the arrow tips
  ytick={0,0.1,0.2,0.3,0.4},
  yticklabels={,25,50,75,100},
  ]
  \addplot [domain=-4:2.3, thick] {gauss(0,1)}coordinate(gaussend)--(gaussend-|current axis.east);
\end{axis}
\end{tikzpicture}
\end{document}

Elbflorentiner
Forum-Anfänger
Forum-Anfänger
Beiträge: 17
Registriert: Do 5. Jun 2014, 21:34

Beitrag von Elbflorentiner »

Wow, das war es. Vielen Dank. :-)

Antworten