Linien in einem Diagramm zeichnen und ihnen eine Beschriftung geben?

Linien in einem Diagramm zeichnen und ihnen eine Beschriftung geben?

Ich bin gerade dabei, mit LaTeX zu plotten. Ich habe es geschafft, mein Balkendiagramm zu plotten. Ich habe zwei Wertegruppen, für die ich den Durchschnitt anzeigen möchte. Ich möchte einen horizontalen Balken über das Balkendiagramm legen und ihn die Durchschnittswerte anzeigen lassen. Das Zeichnen ist leider nicht an Skalierung oder Ähnliches gekoppelt. Sobald ich etwas an der Skalierung/Beschriftung ändern muss, ist alles nicht mehr an seinem Platz. Gibt es eine bewährte Methode zum Zeichnen von Linien (oder Pfeilen), die den Datenwerten des zugrunde liegenden Diagramms entsprechen?

Antwort1

Ich gehe davon aus, dass Sie Probleme haben, ein tikz \drawin einer \pgfplotUmgebung von zu verwenden axis. In diesem Fall müssen Sie das axis csKoordinatensystem verwenden, wie die gepunktete rote Linie zeigt:

Bildbeschreibung hier eingeben

Anmerkungen:

Code: Geben Sie sowohl minimale als auch maximale x-Werte an

\documentclass{article}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}
    \addplot {x*x};
    \draw [ultra thick, dotted, draw=red] 
        (axis cs: -6,12) -- (axis cs: 6,12)
        node[pos=0.5, above] {$y=12$};
\end{axis}
\end{tikzpicture}
\end{document}

Code: Minimale und maximale x-Werte automatisch bestimmen

\documentclass{article}
\usepackage{pgfplots}
\usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture}
\begin{axis}
    \addplot {x*x};
    
    \newcommand*{\VerticalPos}{12}% Desired vertical postion
    \coordinate (Left)  at ($(current axis.left of origin) +(axis direction cs: 0,\VerticalPos)$);
    \coordinate (Right) at ($(current axis.right of origin)+(axis direction cs: 0,\VerticalPos)$);
    
    \draw [ultra thick, dotted, draw=red] 
        (Left) -- (Right)
        node[pos=0.5, above] {$y=\VerticalPos$};
\end{axis}
\end{tikzpicture}
\end{document}

verwandte Informationen